我有一个像这样的数组:
我遇到的问题是如何通过对象进行预测。我想将每个与容器相关联。
所以我尝试了这个:
foreach ($data['plates'] as $index => $element) {
//Don't worry about the container_id.
$plates = Plate::find($element['plate_id'])->plateContainer()->associate($data['container_id'])->save();
}
但似乎无法实现这一目标。我有什么错误或遗失的想法吗?
FYI-模型之间的关系
板块模型
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
PlateContainer模型
public function plates()
{
return $this->hasMany('App\Models\Plate');
}
更新#1:在提交简单表单后,该数组来自AngularJS。对不起忘了提这个。
更新#2:好的。我试了一下。
foreach ($data['plates'] as $element)
{
foreach ($element as $value)
{
$plates = Plate::find($value)->plateContainer()->associate($data['container_id'])->save();
}
}
......但仍然没有让它发挥作用。检查数据库,它只显示第一个板是用给定容器更新的。
我试过dd($value);
它只显示1
答案 0 :(得分:1)
您的$data['plates']
包含2个关联数组:[0] => {etc ...}和[1] => {等等...}。
所以你需要一个嵌套循环。
for ($i=0; $i<count($data['plates']); $i++) {
foreach ($data['plates'][$i] as $index => $element) {
//Don't worry about the container_id.
$plates = Plate::find($element['plate_id'])->plateContainer()->associate($data['container_id'])->save();
}
}
答案 1 :(得分:0)
有些东西没了。
$a = "test1";
$b = "test 2";
$c = "test 3";
$d = "test&4";
诀窍