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