Использование функции firstOrCreate Laravel для поиска в двух столбцах - PullRequest
0 голосов
/ 23 мая 2019

как я могу проверить два столбца с функцией firstOrCreate?Мне нужно работать как where('email', $request->email)->orWhere('personal_code', $request->personal_code), а не where('email', $request->email)->where('personal_code', $request->personal_code)

$user = User::firstOrCreate(
    [
        'email'         => $request->email,
        'personal_code' => $request->personal_code,
    ],
    [
        'name'      => $request->tenant,
        'phone'     => $request->phone,
        'address'   => $request->address
    ]
);

Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 23 мая 2019

Вы не сможете запустить or в методе * 1002. *.

. Для этого вам потребуется создать с использованием пользовательских функций:

$user = User::where('email', $request->email)
    ->orWhere('personal_code', $request->personal_code);

$user = $user->exists()
    ? $user->first()
    : User::create($request->only(['email', 'personal_code', 'name', 'phone', 'address']));


// or $request->expect('_token') if all data passed via form.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...