gpt4 book ai didi

mysql - 在 laravel 中使用 orWhere 会出现错误

转载 作者:行者123 更新时间:2023-11-29 07:14:10 24 4
gpt4 key购买 nike

我无法使用 orWhere 并且我不知道原因。

我的目标是拉取amount_invoice=0 或total_mileage=0。如果我仅使用 WHERE 子句,我的查询将有效。当我添加 orWhere 时,我的查询失败。

此查询有效:

$deliveries = $this->instance->delivery
->where('amount_invoice', 0);
//->where('total_mileage', 0);
//->where('amount_invoice', 0)->where('total_mileage',0);
//->where('amount_invoice', 0)->orWhere('total_mileage', 0);
dd($deliveries);

此查询有效:

$deliveries = $this->instance->delivery
//->where('amount_invoice', 0);
->where('total_mileage', 0);
//->where('amount_invoice', 0)->where('total_mileage', 0);
//->where('amount_invoice', 0)->orWhere('total_mileage', 0);
dd($deliveries);

此查询有效:

$deliveries = $this->instance->delivery
//->where('amount_invoice', 0);
//->where('total_mileage', 0);
->where('amount_invoice', 0)->where('total_mileage', 0);
//->where('amount_invoice', 0)->orWhere('total_mileage', 0);
dd($deliveries);

此查询不起作用:

$deliveries = $this->instance->delivery
//->where('amount_invoice', 0);
//->where('total_mileage', 0);
//->where('amount_invoice', 0)->where('total_mileage', 0);
->where('amount_invoice', 0)->orWhere('total_mileage', 0);
dd($deliveries);

我不知道问题是什么,但使用 orWhere 失败

最佳答案

在不知道你的模型关系是什么样子的情况下,我猜测

$this->instance->delivery

返回一个集合,因为这是 Laravel 通常所做的事情。 ->where(...) 可用于过滤 Laravel 中的集合,但 ->orWhere(...) 则不能。

如果你有

$this->instance->delivery()

相反,您会得到一个查询生成器,然后您可以使用它来执行 ->where(...)->orWhere(...)上的查询。不要忘记在末尾添加 ->get() 调用。

关于mysql - 在 laravel 中使用 orWhere 会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38555747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com