我如何在 laravel 中显示带有两个外键的 table

How can i display a table with two foreign keys in laravel

我有 3 table

Users
-------------
user_id  (PK)
user_name

Items_distributed
-------------
user_id (FK) 
item_id(FK)

Item List
-----------------
item_id(PK)
item_name

现在我需要通过同时使用 user_id 和 item_id 来打印 Items_distributed table 并显示它们的 item_name 和 user_name

我不知道如何同时显示这两个东西 如果我显示 item_name 或 user_name 它的工作 但是当我尝试打印两者时它不起作用。 谁能解决我的问题。

这就是我打印值的方式

在控制器中我是这样使用的 $itemdata=item::orderBy('user_id','desc')->paginate(10); 并在视图中 我用

  @foreach($itemdata as $value)  
                    <tr>  
                        <td>{{$value->items->item_name}}</td>  
                        <td>{{$value->users->user_name}}</td>  
                        <td>{!!Html::link("editItem/",'Edit',array('class'=>'btn-sm  btn-warning margin-left-btn'))!!}
                            {!!Html::link("deleteItem/".$value->item_id,'Delete',array('class'=>'btn-sm btn-warning margin-left-btn'))!!}</td>
                    </tr>
  @endforeach

你应该使用Laravel Eloquent关系。当您为 DB Table 创建模型文件时,您只需放置与其他模型的关系。

如果 Relation 已设置,那么 Laravel 它会从 Related table.

中自行获取数据

在您的例子中,创建了三个模型。

1) 用户模型。

2) 物品型号。

3) ItemDistributed 模型。

UserModel.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * Other code goes here
    **/
    public function itemDestribution()
    {
        return $this->hasMany('App\ItemDistribution','foreign_key');
    }
}

ItemModel.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Items extends Model
{
    /**
     * Other code goes here
    **/
    public function itemDestribution()
    {
        return $this->hasMany('App\ItemDistribution','foreign_key');
    }
}

ItemDestributionModel.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ItemDestribution extends Model
{
    /**
     * Other code goes here
    **/
    public function user()
    {
        return $this->belongsTo('App\User','foreign_key_of_user');
    }

    public function item()
    {
        return $this->belongsTo('App\Item','foreign_key_of_item');
    }
}

您可以从 Here 找到更多关于 Eloquent 关系的信息。