我有这样的帐户模型:
class Account extends Model
{
public function Contact()
{
return $this->hasMany('app\Contact');
}
public $fillable = ['account_id'];
}
和这样的联系模式
class Contact extends Model
{
public function Account()
{
return $this->belongsTo('app\Account');
}
}
和帐户表
和联系人表
当我更新帐户时,我想更新联系人表格上的account_id字段。
我使用contact_array
varaible
我的代码:
public function update(Request $request, $id)
{
$Account = Account::find($id);
$Account->update($request->all());
$Account->Contact()->delete(); ###delete all relations
foreach ($request['contact_array'] as $val){
$contact=Contact:: find($val);
$Account->Contact()->save($contact);
}
}
但是没有任何东西,我测试了这个
foreach ($request['contact_array'] as $val){
$test= DB::table('contacts')
->where('id', $val)
->update(['account_id' => $Account->id]);
}
但不起作用。
答案 0 :(得分:1)
你可以这样做 -
foreach ($request['contact_array'] as $val){
$contact=Contact:: find($val);
$contact->account_id = $Account->id;
$contact->save();
}
$Account->loadMissing('Contact');