[英]Store data into different tables
我有2張桌子
一個是盤子
{
"data": {
"id": 1,
"container_slot_id": 3,
"created_at": "2015-10-26 08:26:32",
"updated_at": "2015-10-26 08:26:32"
}
}
另一個是plate_containers
"data": {
"id": 1,
"name": "Mrs. Maritza Pollich DVM",
"equipment_status_codes_id": 8,
}
這是我的控制器
public function storePlateCleaningData(PlateCleaningRequest $request, $id)
{
$plate = Plate::find($id);
$data = $request->all();
if ($plate->update($data)) {
return response()->json([
'Success' => [
'message' => 'Plate is Cleaned!'
]
], 201);
}
else
{
return response()->json([
'Error' => [
'message' => 'Plate is not updated, something went wrong!'
]
], 400);
}
}
我想,當用戶更新了plate
,他必須能夠更新equipment_status_codes_id
的plate_containers表。 我該如何實現? 我可以將兩個模型都注入到我的構造函數中,但是現在呢?
更新 :表中的關系
板台
$table->integer('plate_container_id')->nullable()->unsigned();
$table->foreign('plate_container_id')->references('id')->on('plate_containers')->onDelete('cascade')->onUpdate('cascade');
模型看起來像這樣。
盤子
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
和PlateContainer
public function plates()
{
return $this->hasMany('App\Models\Plate');
}
我從您的問題中得到的是:
板屬於一個板容器。
如果是這種情況,請嘗試使用以下適用於您控制器的代碼(將xxx替換為equipment_status_codes_id
:
public function storePlateCleaningData(PlateCleaningRequest $request, $id)
{
//Let's eager load Plate Container
$plate = Plate::with('plateContainer')->find($id);
$data = $request->all();
if ($plate->update($data)) {
//Check if plate has container
if($plate->plateContainer) {
//Update plate container's equipment_status_codes_id
$plate->plateContainer->equipment_status_codes_id = xxx
$plate->plateContainer->save();
}
return response()->json([
'Success' => [
'message' => 'Plate is Cleaned!'
]
], 201);
}
else
{
return response()->json([
'Error' => [
'message' => 'Plate is not updated, something went wrong!'
]
], 400);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.