Laravel Eloquent 的 where 方法仅返回数据库中第一条记录的数组
P粉966979765
P粉966979765 2024-01-03 10:53:43
[PHP讨论组]

我有这样的代码:

$subOffers = SubOffer::get()->where('offers_id', 1);

当我返回 $subOffers 时,我得到了一个像这样的数组。

[{"id":1,"offers_id":"1","price":"123.0","start_date":"2022-07-23","stop_date":"2022-07-24","additional_info":"r832ufr803yw98fhew98f8h93wq"}]

但是当我将 1 更改为 2 或 3 或 4 或...时,我得到了一个像这样的对象。

{"3":{"id":4,"offers_id":"4","price":"12,341","start_date":"2022-07-10","stop_date":"2022-07-13","additional_info":null}}

在本例中,我将其更改为 4,并且获得了 n-1 密钥。

这是怎么回事?为什么我收到的是对象而不是数组?当 Offers_id 大于 1 时,就会发生这种情况。 Offers_id 是外键。

P粉966979765
P粉966979765

全部回复(1)
P粉136356287

好的,我找到了解决方案

$subOffers = SubOffer::where('offers_id', $id)->get();

只是我必须将 whereget 交换

但是我还是不知道,这是怎么回事?我想知道为什么会这样。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号