duanjie3267 2016-07-04 18:15 采纳率: 0%
浏览 40
已采纳

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

I'm using Laravel to track Gear in Wearhouses. For that I have 2 tables: gears and wearhouses, and another pivot table: gear_wearhouse.

The relationship between the two tables is a many-to-many relationship, and in my pivot table, in addition to the gear_id and wearhouse_id columns, I have a qty (quantity) column.

Now I loaded all the wearhouses that store a certain gear item ($whs = $gear->wearhouses), and I want to get the quantity (qty field) from the pivot table.

Here is my code:

@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 returns nothing.

How can I do that the easiest way?

  • 写回答

1条回答 默认 最新

  • dora1989 2016-07-04 18:37
    关注
    $warehouse = Warehouse::find(1);
    $gears = $warehouse->gears;
    foreach($gears as $gear)
    {
       $qty = $gear->pivot->qty;
    }
    

    or

    $warehouse = Warehouse::find(1);
    $gear = $warehouse->gears()->first();
    $qty = $gear->pivot->qty;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?