Laravel-5.6 «НРАВИТСЯ», где и где выбрать - PullRequest
0 голосов
/ 27 февраля 2019

Я использую этот запрос, и я получаю ошибку:

$description = $request->get('description');
                $description_query = Transcationhistorique::where(function ($query) use ($description, $user_id) {
                    $query->where('receiver_id', $user_id,'description', 'LIKE','%' . $description . '%')
                        ->orWhere('description', 'LIKE','%' . $description . '%','sender_id', $user_id);
                })->get();

, и это ошибка, которую я получаю:

"SQLSTATE [42S22]: столбец не найден:1054 Неизвестный столбец '0' в 'предложении where' (SQL: выберите * из transcation_historique, где (sender_id = 32 и 0 =% salaire% и 1 = LIKE и 2 = описание) или receiver_id = 32) "

и вот что я действительно хочу запустить:

select * from `transcation_historique` where (`sender_id` = 32 and `description` = %salaire%) or (`receiver_id` = 32 and `description` = %salaire%)

Ответы [ 4 ]

0 голосов
/ 27 февраля 2019

Или попробуйте это с помощью Query Builder:

$description_query = DB::table('transcationhistoriques')
            ->where(['receiver_id' => $user_id, 'description' => 'LIKE %' . $description . '%'])
            ->orWhere(['description' => 'LIKE %' . $description . '%', 'sender_id' => $user_id])
            ->get();
0 голосов
/ 27 февраля 2019

Вы должны попробовать это:

$description = $request->get('description');
$query = Transcationhistorique::where(function ($query) use ($description, $user_id) {
      $query->where('receiver_id', $user_id)
          ->where('description', 'LIKE','%' . $description . '%');
})
->orWhere(function ($query) use ($description, $user_id) {
      $query->where('sender_id', $user_id)
          ->where('description', 'LIKE','%' . $description . '%');
})
->get();
0 голосов
/ 27 февраля 2019

попробуйте

Transcationhistorique::where(function ($query) use ($description, $user_id) {
            $query->where(['receiver_id' => $user_id, 'description' => 'LIKE %' . $description . '%'])
                ->orWhere(['description' => 'LIKE %' . $description . '%', 'sender_id' => $user_id]);
        })->get();
0 голосов
/ 27 февраля 2019

Тогда вы должны использовать следующее утверждение:

$query = Transcationhistorique::where(function ($query) use ($description, $user_id) {
      $query->where('receiver_id', $user_id)
          ->where('description', 'LIKE','%' . $description . '%');
})
->orWhere(function ($query) use ($description, $user_id) {
      $query->where('sender_id', $user_id)
          ->where('description', 'LIKE','%' . $description . '%');
})
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...