【问题标题】:Laravel 3 Table RelationshipLaravel 3 表关系
【发布时间】:2018-06-27 16:41:36
【问题描述】:

谁能帮助我如何显示产品名称?我的购买记录中存储了 productquantity,现在我想在 productquantity 记录中显示产品名称。

我有 3 张桌子

购买记录

  • 身份证
  • 购买编号
  • prodquantityid

产品数量

  • 身份证
  • prod_id

产品

  • 身份证
  • 产品名称

控制器:

public function createpurchase(Request $request)
{
        $purchasenumber = $request->purchasenumber;
        $dataPurchaseRecord = Purchaserecord::where('purchasenumber','=',$purchasenumber)->with('productquantity')->get();
        return view('admin.createpurchase',compact('purchasenumber', 'dataPurchaseRecord')); 

}

查看:

@forelse($dataPurchaseRecord as $Request)
              <tr>
                <td> <a class="name">{{$Request->productquantity->prod_id}}</a></td>
                <td><em class="productprice">{{$Request->quantity}}</em>  </td>
                <td style="width:100px;" class="td-actions"><a href="javascript:;" class="delete-modal btn btn-mini btn-danger" data-id="{{$Request->id}}" ><i class="icon-minus"> </i>Remove</a> </td>
               </tr>
               @empty
               <tr><td colspan='4'><em>No Data</em></td></tr>
              @endforelse

型号:

 public function product()
{
    return $this->belongsTO('App\Product', 'prodquantityid', 'id');
}

{{$Request-&gt;productquantity-&gt;prod_id}} 应该显示产品名称而不是 id 我该如何构建模型和视图?

【问题讨论】:

    标签: php mysql laravel-5 eloquent relational-database


    【解决方案1】:

    您可以将模型定义为

    Class Purchaserecord extends Model{
    
        public function productquantity()
        {
            return $this->belongsTo('App\Productquantities', 'prodquantityid');
        }
    }
    
    Class Productquantities extends Model{
    
        public function product()
        {
            return $this->belongsTo('App\Product', 'prod_id');
        }
    
        public function purchaserecords()
        {
            return $this->hasMany('App\Productquantities','prod_id');
        }
    }
    
    Class Product extends Model{
    
        public function productquantities()
        {
            return $this->hasMany('App\Productquantities','prod_id');
        }
    }
    

    现在像这样急切地加载您的数据

    $dataPurchaseRecord = Purchaserecord::where('purchasenumber','=',$purchasenumber)
                                        ->with('productquantity.product')
                                        ->get();
    

    在循环中,您以$Request-&gt;productquantity-&gt;product-&gt;name 访问产品对象

    Eloquent: Relationships

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 2017-07-09
      • 1970-01-01
      • 2023-03-12
      • 2019-05-17
      相关资源
      最近更新 更多