У меня есть таблица messages в моей базе данных, и я хочу выполнить следующий запрос:
$sql = 'SELECT * FROM MESSAGES WHERE sender_id = ' . $id. ' OR receiver_id = '. $id;
Это то, что я ищу. Итак, как мне сделать то же самое в laravel?
Я поискал в документации laravel и нашел что-то вроде SQL raw statements, но я думаю, что он может быть уязвим для атак SQL, так как мне сделать это безопасно и удобно?
@ user3783243 Я уже сделал это, и у меня есть опыт некоторый в Laravel.
А вы видели You may chain where constraints together as well as add or clauses to the query. The orWhere method accepts the same arguments as the where method:?






Это «способ Laravel» построения необработанного запроса, который у вас есть.
DB::table('messages')->where('sender_id', '=', $id)
->orWhere('reciever_id', '=', $id)->get();
Вы можете использовать следующий код для решения вашей проблемы.
DB::table('messages')
->where('sender_id', $id)
->orWhere('reciever_id', $id)
->get();
Я бы начал с мануала laravel.com/docs/5.6/queries. Не помещайте переменные в SQL.