提问者:小点点

如何显示名称从id使用在laravel 5.6的关系?


我想在表中显示rta名称,但它给了我一个错误

发行人模型函数

public function rtalist(){
    return $this->belongsTo('App\RTAList','rta_id','id');
}

RTAList模型

protected $table = 'rta_list';
protected $fillable = ['rta_name','dp_type','rta_address','rta_phone','rta_email','dp_status','setup_date'];

发卡机构控制器中的代码

 $data = Issuer::with('rtalist')->get();
    return view('admin.issuer.view_all_issuer')->with(compact('data'));

在发行人看来。刀身php

  <td style="text-transform: uppercase;">{{ $issuers->rta_list->rta_name }}</td>

但它给了我这个错误SQLSTATE[42S22]:Column not found:1054 Unknown Column'rta_list。“where子句”中的id(SQL:select*fromrta_listwhererta_listidin(3,4))

如何解决这个问题,并显示名称而不是id...


共3个答案

匿名用户

你们的关系应该是这样的

public function rtalist(){
    return $this->belongsTo('App\RTAList','rta_list_table_primary_key','Issuer Model table foreign key');
}

它应该会起作用。

匿名用户

删除参数“id”,并在第二个参数中添加“您的堆肥表名称”:

public function rtalist(){
  return $this->belongsTo('App\RTAList', 'your_compost_table_name', 'rta_id');
}

或者尝试:

public function rtalist(){
  return $this->belongsTo('App\RTAList', 'rta_id');
}

匿名用户

问题是您在名为id的rta_列表表中没有主键。您必须具有如下结构

发行人表

id --primary_id
rta_list_id --foreign_key
.
.
....

RTAList表

p_id --primary_id
rta_name
.
.
....

现在让关系如下

public function rtalist(){
    return $this->belongsTo('App\RTAList', 'rta_list_id', 'p_id');
}