【问题标题】:Laravel changing eloquent instance to a builder instanceLaravel 将 eloquent 实例更改为构建器实例
【发布时间】:2016-12-15 07:04:40
【问题描述】:

至少它似乎是这样做的。

首先我检索多个模型:

$ConfirmedCards = JobCardHead::where('Status', '=', 'Confirmed')->get(); 

然后我使用 for each 循环来处理每个模型:

foreach ($ConfirmedCards as $card) {
...
}

现在每张 $card 都是一个集合,对吧? Laravel 说一个雄辩的模型是扩展集合类,如果我这样做,

foreach ($ConfirmedCards as $card) {
    echo $card
}

我以绝对看起来像集合的形式获取数据。但是如果我尝试使用集合方法put(),像这样

foreach ($ConfirmedCards as $card) {
    $card -> put('StartDate', 'someDate');
}

我收到一条错误消息,提示我正在尝试在 query\Builder 实例上调用 put(),$card 如何是构建器实例?

请帮忙。谢谢

【问题讨论】:

    标签: php laravel laravel-5 eloquent laravel-5.2


    【解决方案1】:

    您的 $card 变量不是一个集合,而是一个扩展 Illuminate\Database\Eloquent\Model 类的对象。当您尝试 echo 这个对象时,您会看到它被序列化为 JSON

    【讨论】:

    • 谢谢,你知道怎么改成收藏吗?
    • 我不确定您需要什么 - 如何将单个对象变成对象集合?
    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2016-11-20
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2021-07-25
    相关资源
    最近更新 更多