【发布时间】:2018-01-28 06:52:11
【问题描述】:
我有这样的帐户模型:
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
当我更新帐户时,我想更新联系人表上的 account_id 字段。
我使用contact_array 变量发送与此帐户相关的联系人
我的代码:
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]);
}
但不起作用。
【问题讨论】:
-
您是否要删除所有关系并重新创建关系??
-
@Sohel0415 当然是的
标签: php laravel laravel-5 foreign-keys laravel-5.5