私は少し助けが必要です。すべてのIDを配列から同期させよう
私はこのように見えるdocuments
配列を持っています。私が探しています何
単にsync
に、既存のピボットテーブルを持つすべてのIDです。
if($request->has('documents'))
{
$arr = [];
foreach ($data['documents'] as $value) {
$arr[] = $value->id // ain't doing the trick; error "Trying to get property of non-object"
}
//var_dump($arr);
$jig->documents()->sync($arr);
}
私はsync()
メソッドが配列をとることを理解しています。
$arr = [1,2,3];
documents
アレイのIDをこのようにするにはどうすればよいですか?
ありがとうございました!
更新#1コメントに基づいています。
// Change this line
$arr[] = $value->id;
// To this
$arr[] = $value['id'];
エラーがのプロパティを取得しようとすると、「(スロー:あなたのダンプが示唆するように、あなたのforeachループで$value
が実際に配列の場合foreach
array(8) {
["id"]=>
int(5)
["name"]=>
string(13) "Reyna Bartell"
["description"]=>
string(4) "Cum."
["relative_path"]=>
string(9) "Voluptas."
["created_by"]=>
NULL
["created_at"]=>
string(19) "2016-12-28 14:27:58"
["updated_at"]=>
string(19) "2016-12-28 14:27:58"
["updated_by"]=>
NULL
}
array(8) {
["id"]=>
int(6)
["name"]=>
string(20) "Ms. Abigail Schaefer"
["description"]=>
string(4) "Aut."
["relative_path"]=>
string(4) "Quo."
["created_by"]=>
NULL
["created_at"]=>
string(19) "2016-12-28 14:27:58"
["updated_at"]=>
string(19) "2016-12-28 14:27:58"
["updated_by"]=>
NULL
}
とは何ですか'$ data ['documents']'?それは '$ request-> documents'ではありませんか? – Loek
@Loekうん、それも同様です。しかしそれはポイントではない。ちょうどここで物事をテストする。私は後でリファクタリングします。 – user3641381
あなたのforeachループの値をダンプ(1つ)して質問に追加できますか?あなたのコードは私によく見える – Loek