如何保存2个表格之间的关系

如何将数据从一个表格保存到两个表格并保存它们之间的关系?如何保存2个表格之间的关系

我有模特公司:

public function maps() 

{

return $this->belongsTo('App\Map');

}

和模式地图:

public function companies() 

{

return $this->hasOne('App\Company');

}

,并形成输入:

  • 公司名称
  • 本地化(lat和长从谷歌地图)

和MySQL表:

  • 公司(ID,姓名等)
  • 地图(ID,纬度,经度)
  • company_map(COMPANY_ID,MAP_ID)

并存储:

public function store(CreateCompanyFormRequest $request) 

{

$input = Request::all();

$company = new Company($request->all());

Auth::user()->companies()->save($company);

$lat = $request->input('lat');

$long = $request->input('long');

$maps = new Map([

'lat' => $lat,

'long' => $long

]);

$maps->save();

return $input;

}

如何保存关系b etween Comapny和Map(company_id和map_id)? 非常感谢! :)

回答:

因为它是许多一对多的关系,使用attach()

public function store(CreateCompanyFormRequest $request) 

{

$company = auth()->user()->companies()->create($request->all());

$maps = Map::create($request-all());

$company->maps()->attach($map->id);

return back()->withInput();

}

回答:

如果您正在使用数据透视表company_map首先你应该改变你的人际关系:

public function maps() 

{

return $this->belongsToMany('App\Map');

}

public function companies() 

{

return $this->belongsToMany('App\Company');

}

然后您应该添加:

$maps->companies()->attach($company->id); 

后:

$maps->save(); 

以上是 如何保存2个表格之间的关系 的全部内容, 来源链接: utcz.com/qa/265588.html

回到顶部