2017-07-26 28 views
1

我有兩個表。 userscompany。我正在使用身份驗證登錄和 註冊。我使用users表中的user_id作爲company表中的外鍵 。要從會話中存儲user_id,我使用隱藏的輸入 字段。如何在laravel查詢生成器的where子句中使用會話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'); 

    } 

,用戶將登錄自己和創建多個companies.Next時間 時,他會登錄他只能看到他的公司名單。

在目前的情況下,我有這個查詢,但它不值得使用。

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

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

回答

0

您需要更改iduser_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(); 
+0

$公司= DB:表( '本公司') - >其中('user_id',1) - > get(); 它只會顯示user_id 1的數據。以及如果user_id 2登錄 –

+0

我很抱歉,我認爲這很明顯,並複製粘貼1從你的代碼。您應該使用'auth() - > id()'而不是1. –

+0

'$ companies = DB :: table('company') - > where('id',auth() - > id()) - > get();' 我用這個ni從表 –

相關問題