我想显示来自特定列用户表的数据,比如说 uiprv 列。 和 uiprv 与 provinsi 表中的 id 相同。
这是用户表图像:
这是provinsi table:
现在,我已成功显示数据库中的数据,但只显示“31”。 31是来自users表的uiprv列,与provinsi表中的id相同。 问题是,如何显示数据不仅 31 ,而且可以 DKI JAKARTA 。比如在 provinsi 表中的 nama_provinsi 。
我应该如何在控制器中编写代码。 在此先感谢。
答案 0 :(得分:1)
在App / User.php中添加此内容
/**
* Returns the province of the user
*
* @return
*/
public function province()
{
// Province is your model related to Provinsi table
return $this->belongsTo('App\Province');
}
根据你所写的内容,
用户与省之间的关系是多对一的。
答案 1 :(得分:0)
在您的用户模型中添加此
public function province()
{
return $this->hasOne('App\Model', 'foreign_key', 'local_key');
}
在您的控制器中执行此操作
$data = User::with('province')->get();
答案 2 :(得分:0)
您可以编写连接查询以从表中获取特定列。
e.g。
$data = DB::table('users')
->join('provinsi','provinsi.id','=','users.uiprv')
->select('users.name_of_column','provinsi.name_of_column')
->get();
答案 3 :(得分:0)
在您的用户模型中添加
/**
* Returns the province for the user
*
* @return user all details
*/
public function province()
{
return $this->belongsTo('App\Province', 'uiprv', 'id');
}
或
/**
* Returns the province for the user
*
* @return user select details
*/
public function province()
{
return $this->belongsTo('App\Province', 'uiprv', 'id')->select('id', 'nama_provinsi');
}
您也可以在选择中添加其他一些字段。
尝试这些并回复此答案。