我使用这个查询并得到一个错误:
$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();这就是我得到的错误:
"SQLSTATE42S22:未找到列:'where子句‘1054个未知列'0’(
sender_id= 32和0= %salaire%和1= LIKE和2= description)或receiver_id=32)
我真正想要的是:
select * from `transcation_historique` where (`sender_id` = 32 and `description` = %salaire%) or (`receiver_id` = 32 and `description` = %salaire%)发布于 2019-02-27 10:02:30
你应该试试这个:
$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();发布于 2019-02-27 10:06:16
尝尝这个
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();发布于 2019-02-27 10:00:46
然后,您应该使用以下语句:
$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();https://stackoverflow.com/questions/54902607
复制相似问题