如果表包含laravel中的用户ID,如何检查并获取结果

时间:2016-12-24 09:45:45

标签: laravel

我在user和table列之间创建了一个关系,我想显示属于特定用户的表列表。例如,如果系统中记录了user_id 1,则系统将仅显示属于他的信息,即表1。

enter image description here

这是我的控制器代码:

public function show(Request $request){
    $user_id=Auth::user()->id;
    $table= Roundtable::findOrFail($user_id);

    return view('users.tables.show')->withTables($table);
}

我知道$table= Roundtable::findOrFail($user_id);不正确,但我不知道该怎么办,因为我是laravel的新手。

2 个答案:

答案 0 :(得分:0)

如果用户只有一个表,并且Roundtable模型有user_id,您可以使用此查询:

Roundtable::where('user_id', $id)->first();

如果表格不存在,它会为您提供用户表格或null

获取表的另一种方法是使用relation:

auth()->user()->roundTable;

答案 1 :(得分:0)

我找到了解决方案,只需要将代码更改为

$id=Auth::user()->id;
    $table= Roundtable::where('user_id',$id)->get();
    return view('users.tables.show')->withTables($table);

然后结果将正确返回。