Laravel:我正在检索两个相同的模型,它应该是不同的。我的发现有什么问题?

问题描述 投票:1回答:1

我应该得到两个独特的模型。我在我的表中搜索(例如)ID 1和2,但我的结果得到了ID 2的两倍。

它应该很容易,但我的解决方案不起作用:

foreach($somearray as &$item){
    $item[1] = Sell::find($item[1])->with('user', 'sellImages', 'sellLinks')->first();
}

我有一个数组,例如:

"items" => array:2 [▼
0 => array:2 [▼
  0 => 3
  1 => 1 //ID of Model
]
1 => array:2 [▼
  0 => 1
  1 => 2 //Id of Model
]

我不知道为什么,在foreach之后我得到了错误的模型[1] [1]。它与somearray [0] [1]相同。

为什么会那样?

laravel
1个回答
4
投票

你必须删除->first()。然后用with()替换load()

你已经获得了find()的模型。之后调用->first()将其替换为表中的第一个模型(= ID为1的模型)。

© www.soinside.com 2019 - 2024. All rights reserved.