0

我有两个通过外键关联的表:

设备表

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');
    }

}

在这一点上,我完全迷失了。任何帮助将不胜感激

谢谢

4

2 回答 2

0

您是否尝试过通过关系获得它?:

@foreach($equipment as $item)
<ul>
    <li>{{$item->site->Sitename}}</li>
    <li>{{$item->unitNo}}</li>
    <li>{{$item->Model}}</li>
</ul>
@endforeach
于 2013-10-23T14:15:33.903 回答
0

你只需要打电话$item->site->site_name但是为此,您Equipment Model必须使用belongsTo站点模型。否则,它可能无法正常工作。

public function site()
    {
        return $this->belongsTo('Site');

    }
}

site_id密钥已经在 laravel 的外键约定上,所以你不需要明确地告诉他。

于 2013-10-23T16:06:33.597 回答