如何在laravel查询构建器的where子句中使用session id?

时间:2017-07-26 15:02:01

标签: laravel session

  

我有两张表。userscompany。我正在使用auth登录和   注册。我使用users表中的user_id作为外键   在company表中。要从会话中存储user_id我使用隐藏输入   字段。

@if (Auth::user())
   <input type="hidden" class="form-control" name="userid" value="{{ @Auth::user()->id }}">
@endif

查询公司表中的插入数据。

public function insert(Request $request)
    {
        $name = $request->input('username');
        $id = $request->input('userid');
        DB::table('company')->insert(
        ['com_name' => $name,'id' => $id]

        );
      return view('home');

    }
  

现在,用户将登录并创建多家公司。下一次   当他登录时,他只能看到他的公司名单。

在目前的情况下,我有这个查询,但不值得使用。

public function show(Request $request)
    {
        $companies = DB::table('company')->where('id', 1)->get();

        return view('dashboard', ['users' => $companies]);
    }

1 个答案:

答案 0 :(得分:0)

您需要在此处将id更改为user_id

DB::table('company')->insert(['com_name' => $name, 'user_id' => $id]);

在这里:

$companies = DB::table('company')->where('user_id', auth()->id())->get();

或者,您可以这样做:

$companies = auth()->user()->companies()->get();