2016-08-14 151 views
0

我有兩個表是這樣的:笨雄辯查詢關係

users: users_id | name | users_roles_id

users_roles: users_roles_id | roles

我想加入這些表。我試過以下內容:

use Elegant\Model as Eloquent; 

class User extends Eloquent { 
    protected $table = 'users'; 

    function getRoles($userId){ 
     User::join('users_roles', 'users_roles.users_roles_id', '=', 'users.users_roles_id') 
      ->select('*') 
      ->get();  
    } 

    public function user_role() { 
     return $this->belongsTo('users_roles','users_roles_id'); 
    } 
} 

但我不知道如何加入這些來顯示它。 感謝

+0

爲什麼ü使用包,爲什麼不使用CI的Active Record? –

+0

雄辯是Laravel的一部分。使用他們的文檔,你缺少belongsTo參數,因爲你的主鍵不是'id'。 – Devon

回答

0

嘗試更換此

return $this->belongsTo('users_roles', 'users_roles_id'); 

隨着

return $this->belongsTo('users_roles', 'users_roles_id', 'users_id'); 

閱讀方便的名字更雄辯Laravel文件

0

我做

class User extends Eloquent { 
     protected $table = 'users'; 

     function getRoles($userId){ 
      return $this->where('id', $userId)->join('users_roles', 'users.users_roles_id = users_roles.users_roles_id')->get(); 
     } 
    } 

它的工作;-)

0

您創建一個

核心/ MY_Model.php

<?php 

require_once FCPATH . 'filelocation/Eloquent.php'; 

class MY_Model extends Eloquent { 

    public function __construct() { 
     parent::__construct(); 
    } 

} 

然後在模型

模型> User_model.php

<?php 

class User_model extends MY_Model { 
    public function __construct() { 
     parent::__construct(); 
    } 
}