Improve some search methods.

This commit is contained in:
James Cole
2015-07-07 09:46:19 +02:00
parent bdf7eee72f
commit 76a1b2cd51
4 changed files with 28 additions and 27 deletions

View File

@@ -74,11 +74,12 @@ class Account extends Model
public static function firstOrCreateEncrypted(array $fields)
{
// everything but the name:
$query = Account::orderBy('id');
foreach ($fields as $name => $value) {
if ($name != 'name' && $name != 'iban') {
$query->where($name, $value);
}
$query = Account::orderBy('id');
$search = $fields;
unset($search['name'], $search['iban']);
foreach ($search as $name => $value) {
$query->where($name, $value);
}
$set = $query->get(['accounts.*']);
/** @var Account $account */
@@ -107,11 +108,11 @@ class Account extends Model
public static function firstOrNullEncrypted(array $fields)
{
// everything but the name:
$query = Account::orderBy('id');
foreach ($fields as $name => $value) {
if ($name != 'name') {
$query->where($name, $value);
}
$query = Account::orderBy('id');
$search = $fields;
unset($search['name']);
foreach ($search as $name => $value) {
$query->where($name, $value);
}
$set = $query->get(['accounts.*']);
/** @var Account $account */