Laravel:如何从View / Blade获取数据并传递给Controller

时间:2020-09-21 20:34:37

标签: laravel view controller

表格:项目具有布尔值“ onloan”

顾客(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);
    }

查看:create.blade.php

<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>

TransactionController.php

这是我遇到的问题,需要更新两(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,
        ]);

请帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

Υ可以这样写

Item::find($request->item_id)->update(['onloan' => 1,]);

创建您也可以做到

 Transaction::create([$request->all()]);
相关问题