我正在使用laravel,我在使用模型/控制器时遇到了问题。
类BaseController扩展Controller
$id = Session::getId();
if (!empty($id)) {
$user = User::find($id);
$role = User::find($id)->role()->first();
这是用户模型
class User extends Eloquent implements UserInterface, RemindableInterface {
........
/**
* An user can have only one role
*/
public function role() {
return $this->hasOne('role_assignments', 'user_id');
}
这是Role_Assignments模型
class Role_Assignments extends Eloquent {
public static $timestamps = true;
/**
* A role can have several users
**/
public function users() {
return $this->hasMany('User');
}
}
表格(对不起但是我无法发布图片,只有2个链接)。
所有表格:
http://i.imgur.com/wVUcBW5.jpg
用户:
http://i.imgur.com/ePgkmtm.jpg
角色:
i.imgur.com/hsWnSVJ.jpg
Role_assignements:
i.imgur.com/6H3KK7F.jpg
编辑:
我把它改成了,似乎得到了ID
if (Auth::check())
{
$id = Auth::user()->getId();
}
if (!empty($id)) {
$user = User::find($id);
//print_r($user);
$role = User::find($id)->role()->first()->role_id;
$configtable = DB::table('config')->where('id', '1')->first();
答案 0 :(得分:0)
将find
方法替换为findOrFail
,我很确定User::find($id)
在您的情况下返回null