当前位置: 首页 > 面试题库 >

Laravel或哪里

商飞龙
2023-03-14
问题内容

目前,我正在Laravel上的一个项目上工作,但被卡住了。

SELECT * FROM SPITems WHERE publisher_id=? AND feed_id=? AND (title LIKE '%?%' OR description LIKE '%?%')

现在我有这段代码

$query = SPItem::orderBy('title');
if(isset($_GET['publisherID']) && is_numeric($_GET['publisherID']))
{
    $query = $query->where('publisher_id', $_GET['publisherID']);
}
if(isset($_GET['productFeedID']) && is_numeric($_GET['productFeedID']))
{
    $query = $query->where('program_id', $_GET['feedID']);
}
if(isset($_GET['search']))
{
    $query = $query->orWhere('title', 'like', '%' . $_GET['search'] . '%');
    $query = $query->where('description', 'like', '%' . $_GET['search'] . '%');
}

但这会产生:

SELECT * FROM SPITems WHERE (publisher_id=? AND feed_id=?) OR (title LIKE '%?%') AND description LIKE '%?%'

如何获得正确的“或”订单?


问题答案:

在文档中查看“ 参数分组” 部分:

https://laravel.com/docs/master/queries#parameter-
grouping

它说明了如何在WHERE子句中对条件进行分组。

应该是这样的:

if(isset($_GET['search']))
{
    $query = $query->where(function($query){
        $query->where('title', 'like', '%' . $_GET['search'] . '%')
              ->orWhere('description', 'like', '%' . $_GET['search'] . '%');
    });
}


 类似资料:
  • 问题内容: 我正在使用SphinxSearch查询某些内容,并具有要使用MySQL查询的对象的ID。我的ID数组根据Sphinx给出的排名进行排序。因此,我想制作一个像这样的MySQL: 我知道我可以做: 但是我无法获得订单。 我如何与Laravel以适当的方式做到这一点? 问题答案: 使用http://laravelsnippets.com/snippets/get-all-items-at-o

  • 我的客户通过订单订购了许多包裹。 我想退回包裹数量超过0且状态仅为成功的客户。但我不知道如何添加包裹状态的条件。目前,这份声明给了我一份有包裹的客户名单<代码>$customers=Customer::has('包裹','

  • 如何将以下查询转换为Laravel4雄辩ORM?

  • 问题内容: 使用哪种更好或更方便: 要么 问题答案: 您是否完全需要类型属性?如果您使用的是HTML5,则不会。否则,是的。HTML 4.01和XHTML 1.0 根据需要指定属性,而HTML5具有可选属性,默认为。HTML5现在得到了广泛的实现,因此,如果您使用HTML5doctype,则是有效且不错的选择。 至于type属性中应该包含的内容,2006年注册的MIME类型旨在替代所有主要浏览器(

  • 问题内容: 我有这个表达: 这些元素的(,,)有优先权? 您能用方括号显示操作顺序吗? 问题答案: 首先,然后,然后。 您的表情将被评估为。 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

  • 我试图理解一些高级的雄辩命令,在Laravel官方文档中,没有太多关于雄辩或Wherehas方法的内容,也没有关于它如何工作的示例 https://laravel.com/docs/8.x/eloquent-relationships#querying-关系存在 有人能帮我理解一下吗?还有一个简单的例子。