誰かが私のシーダーに問題があるように見えますか?Laravelのシーダーが動作しない
public function run()
{
$faker = Faker\Factory::create();
$limit = 30;
$userId = App\User::all()->lists('id')->toArray();
$status = App\OrderStatus::all()->lists('id')->toArray();
for ($i = 0; $i < $limit; $i++) {
$chosenUserId = $faker->randomElement($userId);
$user = App\User::find($chosenUserId);
DB::table('orders')->insert([
'created_at' => $faker->date('Y-m-d'),
'user_id' => $chosenUserId,
'status_id' => $faker->randomElement($status),
'draft' => false,
'address_id' => $user->addresses->first()->id
]);
}
}
私はtrying to get property of non-object
エラーを得続ける、と私はそれがために、私はaddress_id
を装着していた最後の行のだと仮定します。
その時点までに作成されたDBを見てみると、ユーザーとアドレスが正しく作成され、各ユーザーには割り当てられたアドレスが割り当てられます。あなたのUserモデルがアドレスモデルとの関係を定義する機能を持っているので、あなたは関数としてではないとして、それを呼び出す必要があり
addresses -> addresses()