Laravel 5.2 - 获取数据透视表附加属性

时间:2016-07-04 18:15:15

标签: php laravel laravel-5 eloquent laravel-5.2

我正在使用Laravel来跟踪Wearhouse中的Gear。为此,我有两个表:齿轮和耐磨室,以及另一个数据透视表:gear_wearhouse。

两个表之间的关系是多对多关系,在我的数据透视表中,除了gear_id和wearhouse_id列之外,我还有一个qty(数量)列。

现在我装了所有存放某个装备项目($whs = $gear->wearhouses)的服装店,我想从数据透视表中获取数量(qty字段)。

这是我的代码:

@foreach ($gear->wearhouses as $wh)
    <tr>
        <td>
            {{ $wh->title }}
        </td>
        <td>
            {{ $wh->manager->name }}
        </td>
        <td>
            {{ $wh->pivot->qty }}
        </td>
        <td>
            <a href="{{ url('/admin/organization/gear/edit/' . $wh->id) }}" class="btn btn-warning btn-xs">
                <i class="fa fa-pencil-square-o"></i> עריכה
            </a>

            <a data-toggle="modal" href="#delete-{{ $wh->id }}" class="btn btn-danger btn-xs">
                <i class="fa fa-trash-o"></i> מחיקה
            </a>
        </td>
    </tr>
@endforeach

$wh->pivot->qty什么都不返回。

我怎样才能以最简单的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

$warehouse = Warehouse::find(1);
$gears = $warehouse->gears;
foreach($gears as $gear)
{
   $qty = $gear->pivot->qty;
}

$warehouse = Warehouse::find(1);
$gear = $warehouse->gears()->first();
$qty = $gear->pivot->qty;