2
使用同步功能同步一个belongsToMany关系:Laravel同步关系可选参数
$model->products()->sync($productIds);
在$ productIds阵列有一些标识的平板阵列 - 是这样的:
$productIds = [1,3,5,6];
我想要的: 数据透视表还有其他列,如“created_by”和“updated_by”。
但是我怎么能添加这些字段到我的数组没有做foreach循环? 有没有更简单的方法来做到这一点?
我需要一个这样的数组:
$productIds = [1 => [
'created_by' => 1,
'updated_by' => 1
],3 => [
'created_by' => 1,
'updated_by' => 1
],5 => [
'created_by' => 1,
'updated_by' => 1
],6 => [
'created_by' => 1,
'updated_by' => 1
]];
是的,我知道我可以用foreach做到这一点,添加列,同时通过阵列I循环。但我想要做得更短..有没有办法做得更短(也许与laravel)?
我知道如何同步与更多的属性的关系。 我想要的是动态生成数组... – goldlife
我不确定我是否理解 - 您想要将$ productIds中的ID数组转换为上面的数组?其中ID是键,值是其中created_by/updated_by等于1的数组? –
不......我不想转换我的数组。我只是想知道是否有可能将我的平面数组($ productIds = [1,3,5,6];)扩展为一个多dim数组,其中附加数组与上面示例中的完全相同。所以我有一个像$ productIds这样的数组,以及另一个像这样的数组:[ 'created_by'=> 1, 'updated_by'=> 1 ]并且第二个数组必须在每个ID之后就位。问题是:有没有一种方法可以得到它,或者有没有解决方案,没有我的$ productIDs的foreach,并在每个ID附加另一个数组? – goldlife