[英]Laravel changing eloquent instance to a builder instance
At least it seems to be doing that. 至少它似乎正在这样做。
First I retrieve multiple models: 首先,我检索多个模型:
$ConfirmedCards = JobCardHead::where('Status', '=', 'Confirmed')->get();
Then I use a for each loop to work on each model: 然后,我为每个循环使用a来处理每个模型:
foreach ($ConfirmedCards as $card) {
...
}
Now each $card is a collection right? 现在,每个$ card都是收藏集,对不对? Laravel says that an eloquent model is extends the collection class and if I do,
Laravel说,一个雄辩的模型可以扩展集合类,如果我这样做,
foreach ($ConfirmedCards as $card) {
echo $card
}
I get the data in what definitely looks like a collection. 我从绝对看起来像集合中获得数据。 But if I attempt to use the collection method put(), like this
但是,如果我尝试使用收集方法put(),像这样
foreach ($ConfirmedCards as $card) {
$card -> put('StartDate', 'someDate');
}
I get an error saying that I am trying to call put() on a query\\Builder instance, How is $card a builder instance? 我收到一条错误消息,说我试图在query \\ Builder实例上调用put(),$ card如何成为一个生成器实例?
Please Help. 请帮忙。 Thank you
谢谢
Your $card variable is not a collection but an object extending Illuminate\\Database\\Eloquent\\Model class. 您的$ card变量不是集合,而是扩展了Illuminate \\ Database \\ Eloquent \\ Model类的对象。 When you try to echo this object, you're seeing it serialized to JSON .
当您尝试回显此对象时,您会看到它序列化为JSON 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.