1)这是我的订单表:
isLazy
2)这是我的订购刀片:
Schema::create('orders', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('category_id')->unsigned();
$table->integer('product_id')->unsigned();
$table->integer('variant_id')->unsigned();
$table->integer('quantity');
$table->integer('total');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('category_id')->references('id')->on('categories');
$table->foreign('product_id')->references('id')->on('products');
$table->foreign('variant_id')->references('id')->on('variants');
});
3)这是我的OrderController:
<tbody>
@foreach($orders as $order)
<tr>
<td>{{$order->variant_name}}</td>
<td>{{$order->quantity}}</td>
<td>{{$order->total}}/-</td>
</tr>
@endforeach
</tbody>
现在,我想在刀片文件中打印变体名称,但是唯一可以打印的是id。我已经尝试了很多事情,但仍然无法获得确切的答案。我知道可以使用外键来完成,但是如何使用这些外键来打印variant_name或变量表中的任何内容。
答案 0 :(得分:0)
您可以:
刀片
<tbody>
@foreach($orders as $order)
<tr>
<td>{{$order->variants->variant_name}}</td>
<td>{{$order->quantity}}</td>
<td>{{$order->total}}/-</td>
</tr>
@endforeach
</tbody>
OrderController
public function index(Order $order)
{
$orders=$order->getList();
return view('orders', compact('orders', 'variants'));
}
订单模型
public function variants(){
return $this->belongsTo(Variant::class, 'variant_id');
}
public function getList()
{
return self::with('variants')->where('user_id', auth()->user()->id)->get();
}
答案 1 :(得分:-1)
请注意,每order
个属于一个variant
。因此,在您的order
模型中,请在order
模型和variant
模型之间建立如下关系:
public function variants(){
return $this->belongsTo(Variant::class,'variant_id','id');
}
现在已经建立了关系,只要有Order
类的对象,就可以使用它。让我们在循环中使用它:
<tbody>
@foreach($orders as $order)
<tr>
<td>{{$order->variants()->first()->variant_name}}</td>
<td>{{$order->quantity}}</td>
<td>{{$order->total}}/-</td>
</tr>
@endforeach
</tbody>
应该可以解决问题。