顾客(id,name),项目(id,name,onloan),交易(patron_id,item_id,借出,到期,返回)
Patron.php
public function transaction ()
{
return $this->hasMany(Transaction::class);
}
Item.php
public function transaction ()
{
return $this->hasMany(Transaction::class);
}
Transaction.php
public function item()
{
return $this->belongsTo(Item::class);
// return $this->belongsTo('App\Item','item_id');
}
public function patron()
{
return $this->belongsTo(Patron::class);
}
<label for="item_id">Item</label>
<select name="item_id" id="item_id" class="form-control select2">
@foreach($items as $item)
<option value="{{ $item->id }}">
{{ $item->barcode }} - {{ $item->name }}
</option>
@endforeach
</select>
这是我遇到的问题,需要更新两(2)个表。
即
交易记录表:(这部分已经可以了,没关系)
名称... |项目.......... |贷款..... |到期..
约翰·杜哈利·波特| 09/22/20 | 09/23/20
Items表:(这部分我不知道如何在Controller中添加它)
名称........... | Onloan
哈利·波特| 1
•如何在此控制器中更新外部表(项),以便
$ item-> id的“ onloan”值为1。
public function store(TransactionRequest $request)
{
Transaction::create([
'patron_id' => $request->patron_id,
'item_id' => $request->item_id,
'loaned' => $request->loaned,
'due' => $request->due,
]);
//This is what I tried, but it's not working.
Item::find($request->item_id);
$item->update([
'onloan' => 1,
]);
请帮助。谢谢。
答案 0 :(得分:0)
Υ可以这样写
Item::find($request->item_id)->update(['onloan' => 1,]);
创建您也可以做到
Transaction::create([$request->all()]);