我正在尝试从一个到多个表中检索数据。但是它不起作用,有两种模型:车辆模型和图像模型。一辆车可以有多个图像,但是一个图像只能有一个车。它显示了未定义的变量:图像我的模型是:
//Image:
class Image extends Model
{
protected $fillable = ['title','filepath'];
public function vehicles(){
return $this->belongsTo('App\vehicles');
}
}
//Vehicle:
class vehicles extends Model
{
protected $fillable = ['vname','lotno','engine','mileage','kilometers','features','price','negotiable','vcondition','used','manufacture_year','description','Company_cid','Sellers_sid','Vehicle_Type_id'];
public function Image(){
return $this->hasMany('App\Image');
}
}
//Controller:
public function index()
{
$vehicle_type=vehicle_types::where('type','Bike')->get()->first();
$id=$vehicle_type->id;
$vehicles=vehicles::where('Vehicle_Type_id',$id)->get();
return view('Bike.index',compact('vehicles'));
}
看法:
@foreach($vehicles as $vehicles)
<div class="col-sm-4">
<!-- Product -->
<div class="shop-item">
<!-- Product Image -->
<div class="image">
<a href="page-product-details.html"><img src="{{ asset("images/$vehicles->$image->title") }}" alt="{{ $vehicles->$image->title }}" ></a>
</div>
<!-- Product Title -->
<div class="title">
<h2><a href="page-product-details.html">{{$vehicles->vname}}</a></h2>
<h3><a href="page-product-details.html">{{$vehicles->lotno}}</a></h3>
</div>
@endforeach
我不知道我在做什么错。谁能帮我?
使模型名称为单数:车辆,图像
车辆有很多图像
public function images(){
return $this->hasMany('App\Image');
}
图片属于车辆:
public function vehicle(){
return $this->belongsTo('App\vehicle');
}
并在index()
控制器的方法中:
$vehicles=Vehicle::where('Vehicle_Type_id',$id)->get();
将给您一个收藏。
并且,在视图中:
@foreach($vehicles as $vehicle)
@foreach($vehicle->images as $image)
<a href="page-product-details.html"><img src="{{ asset("images/$image->title") }}" alt="{{ $image->title }}" ></a>
@endforeach
<h2><a href="page-product-details.html">{{$vehicle->vname}}</a></h2>
<h3><a href="page-product-details.html">{{$vehicle->lotno}}</a></h3>
@endforeach
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句