2016-08-14 152 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(); 
    } 
}