基于其他列表的数据库显示数据laravel 5

基于其他列表的数据库显示数据laravel 5

问题描述:

我想要显示来自特定列的数据用户表,更具体地说uiprv列。 和uiprv相同IDprovinsi表。基于其他列表的数据库显示数据laravel 5

这是用户的桌面形象:

enter image description here

,这是provinsi表:

enter image description here

,现在,我已经从数据库中成功地显示数据,但只显示“31 ”。 31是来自users表的uiprv列,它与来自provinsi表的id相同。 问题是,如何显示数据不仅仅是,但它可以是DKI JAKARTA。如nama_provinsi at provinsi表。

我应该如何在此控制器中编写代码。 在此先感谢。

+0

将您的查询 –

+0

我只使用值=“{{$ uiprv}}”鉴于 –

在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'); 
} 

添加这个从你写的,到省用户之间

关系是多对一。

参考 - https://laravel.com/docs/5.3/eloquent-relationships

+0

显示从数据库中的数据后添加代码user.php的,我应该怎么写代码,在我的控制器从31显示数据成为DKI雅加达? –

在您的用户模型添加此

public function province() 
    { 
     return $this->hasOne('App\Model', 'foreign_key', 'local_key'); 
    } 

而在你的控制器做

$data = User::with('province')->get(); 

你可以写一个联接查询来从表中特定的列。

例如

$data = DB::table('users') 
->join('provinsi','provinsi.id','=','users.uiprv') 
->select('users.name_of_column','provinsi.name_of_column') 
->get(); 

在用户模型中添加这个,

 /** 
    * 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'); 
    }   

你还可以添加一些其他的领域中选择。

试试这些并回答这个问题。