我想在表格中显示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'));
在view_issuer.blade.php
<td style="text-transform: uppercase;">{{ $issuers->rta_list->rta_name }}</td>
但这给了我这个错误
SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ rta_list.id”(SQL:从rta_list
中选择*,其中rta_list
。id
在(3,4 ))
如何解决此问题并显示名称而不是ID。
答案 0 :(得分:0)
您的关系应该是这样
public function rtalist(){
return $this->belongsTo('App\RTAList','rta_list_table_primary_key','Issuer Model table foreign key');
}
它应该可以工作。
答案 1 :(得分:0)
删除参数“ id”,并在第二个参数中添加“ your_compost_table_name”:
public function rtalist(){
return $this->belongsTo('App\RTAList', 'your_compost_table_name', 'rta_id');
}
或尝试:
public function rtalist(){
return $this->belongsTo('App\RTAList', 'rta_id');
}
答案 2 :(得分:0)
问题是您在名称为id的rta_list表中没有主键。您必须具有以下结构
发行人表格
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');
}