gsk*_*gsk 4 php model object-relational-model laravel laravel-5
我有客户端表和client_address信息表.我需要在更新下面给出的client.my模型类时更新两个表,
class Client extends Model {
public function addressInfo() {
return $this->hasOne('App\Model\ClientAddressInfo');
}
}
class ClientAddressInfo extends Model {
protected $table = 'client_address_info';
public function client() {
return $this->belongsTo('App\Model\Client');
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器更新如下.
$client = Client::findOrFail($id);
$client->name = rand(0, 1222222);
$address = ClientAddressInfo::where('client_id', '=', $id)->get();
$address->street = "new street";
$address->save();
Run Code Online (Sandbox Code Playgroud)
但它不起作用,请您解释更新模型及其相关模型的最佳实践.
luk*_*ter 10
你可以更简单地做到这一点:
$client = Client::findOrFail($id);
$client->name = rand(0, 1222222);
$client->addressInfo->street = 'new street';
$client->addressInfo->save();
$client->save();
Run Code Online (Sandbox Code Playgroud)
save()
您可以使用push()
哪种方式保存模型及其相关模型,而不是调用两种模型:
$client = Client::findOrFail($id);
$client->name = rand(0, 1222222);
$client->addressInfo->street = 'new street';
$client->push(); // save client and addressInfo
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5817 次 |
最近记录: |