gpt4 book ai didi

php - Laravel:类 Illuminate\Database\Eloquent\Builder 的对象无法转换为字符串

转载 作者:行者123 更新时间:2023-12-01 21:56:30 24 4
gpt4 key购买 nike

我正在尝试遍历一个 ID 数组以从另一个表中获取数据,我的意思是我想获取我们在其中循环的每个计划 ID 的最新队列。

所以首先我有$schedules:

$schedules = [{"id":19},{"id":18},{"id":15}]

foreach 循环是这样的:

$queues= [];
foreach ($schedules as $schedule) {
$queues[] = Queue::withTrashed()
->latest()
->where('schedule_id', $schedule);
}
return $queues;

当我返回队列时,它显示:

Object of class Illuminate\Database\Eloquent\Builder could not be converted to string

最佳答案

显示的错误与您没有运行查询有关,您需要在 Queue::...->where(. ..)->get() 去做。

如果您不这样做,正如 Dhananjay Kyada 在他的回答中所说:

it will try to return a query object

但是要返回响应:

The Response content must be a string or object implementing __toString()

接下来,我们还需要解决一件事。

如果您正在定义变量 $schedules 并为其分配问题中显示的值:

$schedules = [{"id":19},{"id":18},{"id":15}]

尝试将 JSON 作为字符串并使用 json_decode 将其转换为 PHP 变量:

$schedules = json_decode('[{"id":19},{"id":18},{"id":15}]');

然后您可以在 where 子句中使用 id 值:

->where('schedule_id', $schedule->id)->get()

关于php - Laravel:类 Illuminate\Database\Eloquent\Builder 的对象无法转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56709115/

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