2016-09-20 180 views
0

我想要顯示來自特定列的數據用戶表,更具體地說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}}」鑑於 –

回答

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

添加這個從你寫的,到省用戶之間

關係是多對一。

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

+0

顯示從數據庫中的數據後添加代碼user.php的,我應該怎麼寫代碼,在我的控制器從31顯示數據成爲DKI雅加達? –

0

在您的用戶模型添加此

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

而在你的控制器做

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

你可以寫一個聯接查詢來從表中特定的列。

例如

$data = DB::table('users') 
->join('provinsi','provinsi.id','=','users.uiprv') 
->select('users.name_of_column','provinsi.name_of_column') 
->get(); 
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'); 
    }   

你還可以添加一些其他的領域中選擇。

試試這些並回答這個問題。