我有这样的账户模型:
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');
}
}
和账目表
和联系人表
当我更新帐户时,我想更新contacts表上的account_id字段。我使用contact\u数组
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]);
}
但不起作用。
你可以这样用do
foreach ($request['contact_array'] as $val){
$contact=Contact:: find($val);
$contact->account_id = $Account->id;
$contact->save();
}
$Account->loadMissing('Contact');