在 Laravel 中创建并关联 Eloquent
Create and associate with Eloquent in Laravel
我可以在线创建和关联相关模型吗?例如
让 table countries with ids and names.例如171 | Poland
.
Table addresses 有列 country_id 作为 外键 ,但 not null 和城市、街道等列。
在AdressModel中,$fillable 属性也被设置。
现在,要根据请求创建新地址,我知道三种方法。
- 将 'country_id' 添加到 AddresseModel $fillable 属性,然后 Country::create( $请求->地址);
- 使用
new Address()
,然后将字段分配给匹配对象的属性。最后 save()
;
- 允许 'country_id' 为 nullable,使
Country::create($request->address)
并在给定关系上调用 associate()方法,country() 在这种情况下。
有没有办法在没有 nullable() 的情况下内联,比如:
$country = Country::find($request->country_id);
$address = Address::create($request->address)->country()->associate($country)
你可以这样做:
$country = Country::find($request->country_id);
$address = $country->addresses()->create([
'city' => 'Barcelona',
...
]);
我可以在线创建和关联相关模型吗?例如
让 table countries with ids and names.例如171 | Poland
.
Table addresses 有列 country_id 作为 外键 ,但 not null 和城市、街道等列。
在AdressModel中,$fillable 属性也被设置。
现在,要根据请求创建新地址,我知道三种方法。
- 将 'country_id' 添加到 AddresseModel $fillable 属性,然后 Country::create( $请求->地址);
- 使用
new Address()
,然后将字段分配给匹配对象的属性。最后save()
; - 允许 'country_id' 为 nullable,使
Country::create($request->address)
并在给定关系上调用 associate()方法,country() 在这种情况下。
有没有办法在没有 nullable() 的情况下内联,比如:
$country = Country::find($request->country_id);
$address = Address::create($request->address)->country()->associate($country)
你可以这样做:
$country = Country::find($request->country_id);
$address = $country->addresses()->create([
'city' => 'Barcelona',
...
]);