REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 3.18 KB
Close
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Testing/Constraints/HasInDatabase.php
Text
Base64
<?php namespace Illuminate\Testing\Constraints; use Illuminate\Contracts\Database\Query\Expression; use Illuminate\Database\Connection; use PHPUnit\Framework\Constraint\Constraint; class HasInDatabase extends Constraint { /** * Number of records that will be shown in the console in case of failure. * * @var int */ protected $show = 3; /** * The database connection. * * @var \Illuminate\Database\Connection */ protected $database; /** * The data that will be used to narrow the search in the database table. * * @var array */ protected $data; /** * Create a new constraint instance. * * @param \Illuminate\Database\Connection $database * @param array $data * @return void */ public function __construct(Connection $database, array $data) { $this->data = $data; $this->database = $database; } /** * Check if the data is found in the given table. * * @param string $table * @return bool */ public function matches($table): bool { return $this->database->table($table) ->where($this->data) ->exists(); } /** * Get the description of the failure. * * @param string $table * @return string */ public function failureDescription($table): string { return sprintf( "a row in the table [%s] matches the attributes %s.\n\n%s", $table, $this->toString(JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE), $this->getAdditionalInfo($table) ); } /** * Get additional info about the records found in the database table. * * @param string $table * @return string */ protected function getAdditionalInfo($table) { $query = $this->database->table($table); $similarResults = $query->where( array_key_first($this->data), $this->data[array_key_first($this->data)] )->select(array_keys($this->data))->limit($this->show)->get(); if ($similarResults->isNotEmpty()) { $description = 'Found similar results: '.json_encode($similarResults, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); } else { $query = $this->database->table($table); $results = $query->select(array_keys($this->data))->limit($this->show)->get(); if ($results->isEmpty()) { return 'The table is empty'; } $description = 'Found: '.json_encode($results, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); } if ($query->count() > $this->show) { $description .= sprintf(' and %s others', $query->count() - $this->show); } return $description; } /** * Get a string representation of the object. * * @param int $options * @return string */ public function toString($options = 0): string { foreach ($this->data as $key => $data) { $output[$key] = $data instanceof Expression ? $data->getValue($this->database->getQueryGrammar()) : $data; } return json_encode($output ?? [], $options); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ArraySubset.php
3.60 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CountInDatabase.php
1.86 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
HasInDatabase.php
3.18 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
NotSoftDeletedInDatabase.php
2.66 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SeeInOrder.php
1.92 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SoftDeletedInDatabase.php
2.66 KB
lrw-rw-rw-
2025-09-17 06:52:58
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).