mysql - 没有得到正确的结果,但在 sql 中工作

标签 mysql sql laravel

这是已经在 mysql 数据库中运行的代码,但我想将其转换为 Laravel 5.6

    SELECT * 
    FROM `listings` 
    WHERE (
    country_id=1 
    AND (state=32 or city=8) 
    AND (listing_id LIKE "%6562%" OR title LIKE "%6562%"))

最佳答案

假设您有一个名为 Listing 的模型,它负责处理 listings 表。您可以像这样编写查询:

$listings = App\Listing::where('field1', 1)
    ->where(function ($query) {
        $query->where('field2', 32);
        $query->orWhere('field3', 8);
     })
     ->where(function ($query) {
        $query->where('field4', 'LIKE', '%6562%');
        $query->orWhere('field5', 'LIKE', '%6562%');
     })
     ->get();

where方法的第一个参数可以是一个回调,可以实现这种类型的分组(field2=32或field3=8)

关于mysql - 没有得到正确的结果,但在 sql 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56847469/

相关文章:

java - 使用android room时出现错误: incompatible types: <null> cannot be converted to int if (! _cursor.isNull(null))

mysql - 如何对特定行使用求和查询

laravel - 在 laravel 5.2 中将 http 重定向到 https

laravel - laravel 5.5中包含node_modules的简单方法

php - Laravel 模型可以针对每个具有不同属性的多个 Algolia 索引吗?

mysql - 从数据库中删除 "friends"的最佳做法是什么?

mysql - 使用主表中的值填充表

php - 在服务器上启用 PDO,还是不使用 Laravel?

mysql - 如何在MySQL中查找日期格式

mysql - 由于引用同一个表而受到外键的插入约束