拉威尔(Laravel)背包,带有关系,给人以错觉

时间:2018-12-01 19:13:03

标签: laravel-5 backpack-for-laravel

我有一张国家的桌子和一张大洲的桌子。国家/地区的字段为“ continent_id”。国家模型具有一种方法:

public function getContinent()
      {
        return $this->belongsTo('App\Models\Continent','continent_id','id');
      }

如果我使用修补匠进行测试,则会得到正确的响应:

$co = App\Models\Country::with('getContinent)->first()

enter image description here

在CountryCrudController上的设置中,我想添加一个显示大洲的字段-我还将要在选择的国家/地区中添加7个大洲的选择,因此在列表中定义了以下内容:

  $this->crud->addColumn([
      'name' => "continent",
      'label' => "continent", // Table column heading
      'type' => "select",
      'entity' => 'getContinent ', // the method in your Model
      'attribute' => 'continent',
    ]);

但是当我尝试运行它时,我得到了:

enter image description here

我做错了吗?

1 个答案:

答案 0 :(得分:0)

在getContinent之后有一个空格-绝对不应该在该空格。

此外,该字段的 name 应该是数据库中的列,因此您的名字应该是 continent_id ,而不是 continent 。< / p>

  $this->crud->addColumn([
      'name' => "continent_id",
      'label' => "Continent", // Table column heading
      'type' => "select",
      'entity' => 'getContinent', // the method in your Model
      'attribute' => 'continent',
    ]);

我很确定它可以与上面的方法一起使用。