我想在表中显示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_list
whererta_list
id
in(3,4))
如何解决这个问题,并显示名称而不是id...
你们的关系应该是这样的
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');
}