Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中使用或陈述_Php_Mysql_Sql_Laravel - Fatal编程技术网

Php 在laravel中使用或陈述

Php 在laravel中使用或陈述,php,mysql,sql,laravel,Php,Mysql,Sql,Laravel,我的数据库中有一个messages表,我要执行的查询是: $sql = 'SELECT * FROM MESSAGES WHERE sender_id = ' . $id. ' OR receiver_id = '. $id; 这就是我要找的。那么,我如何在拉威尔做同样的事情呢? 我在laravel文档中搜索,发现了类似于SQL原始语句的东西,但我想它可能容易受到SQL攻击,所以如何安全、甜蜜地执行它?这是构建原始查询的“laravel方法” DB::table('messages')-&

我的数据库中有一个
messages
表,我要执行的查询是:

 $sql = 'SELECT * FROM MESSAGES WHERE sender_id = ' . $id. ' OR receiver_id = '.  $id;
这就是我要找的。那么,我如何在拉威尔做同样的事情呢? 我在laravel文档中搜索,发现了类似于
SQL原始语句的东西,但我想它可能容易受到SQL攻击,所以如何安全、甜蜜地执行它?

这是构建原始查询的“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();

我从手册开始。不要将变量放入SQL。@user3783243我已经这样做了,并且我在Laravel方面有一些经验。您看到了
可以将where约束链接在一起,也可以向查询中添加or子句。orWhere方法接受与where方法相同的参数: