我有两个表,它们是由前键关联的:
设备表
ID主Site_ID前向UnitNo模型
场地表
ID名称
我想显示设备表中的所有设备,但是在哪里说site_id,我想显示网站名称。
我对laravel 4非常陌生,我对如何产生这个问题非常执着,我的代码如下所示:
<?php var_dump($equipment); ?>
@foreach($equipment as $item)
<ul>
<li>{{$item->site_id}}</li>
<li>{{$item->unitNo}}</li>
<li>{{$item->Model}}</li>
</ul>
@endforeach
主计长:
<?php
class EquipmentController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$equipment = equipment::all();
return View::make('equipment.index', compact('equipment'));
}
设备模型
<?php
class Equipment extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function site()
{
return $this->hasOne('site', 'site_id');
}
}
场地模型
<?php
class Site extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function equipment()
{
return $this->hasMany('equipment');
}
}
我在这一点上迷失了方向。任何帮助都是见效的。
谢谢
发布于 2013-10-23 16:06:33
你只需打电话给$item->site->site_name
。但是为此,您的Equipment Model
必须要belongsTo
站点模型。另一种方式,它可能行不通。
public function site()
{
return $this->belongsTo('Site');
}
}
site_id
键已经在laravel的预键约定上了,所以不需要来解释这一点。
发布于 2013-10-23 14:15:33
你试过通过这种关系得到它吗?:
@foreach($equipment as $item)
<ul>
<li>{{$item->site->Sitename}}</li>
<li>{{$item->unitNo}}</li>
<li>{{$item->Model}}</li>
</ul>
@endforeach
https://stackoverflow.com/questions/19534653
复制相似问题