我有 2 个模型,一个用户和一个地址。我仍在尝试 associate() ,因为我在https://laravel.com/docs/5.6/eloquent-relationships#updating-belongs-to-relationships中阅读了它,但我在实现它时遇到了一些麻烦,遗憾的是我的视频本教程不包括 associate() 函数。
class User extends Authenticatable
public function address() {
return $this->hasOne('App\Address');
}
class Address extends Model
public function user() {
return $this->belongsTo('App\User');
}
// --web.php--
Route::get('/sample',function(){
$user = User::create(['name'=>'user 1','email'=>'user@laravel.com',password='']);
$address = Address::create(['name'=>'sample address of user 1']);
$address->user()->associate($user);
});
一切都保存了,但我希望地址的 user_id 为 1。相反,地址的 user_id 设置为 NULL。associate() 不是假设通过自动分配等于父 ID 的外键来将特定的“belongsTo”模型链接到其父模型吗?顺便说一句,我对 PHP 和 Laravel 很陌生,所以是的..