2017-07-31 75 views
1

我認爲這只是一個小問題,但我似乎找不到它的語法錯誤的原因..我已經指laravel的網站,我現在正盯着一段時間。 (IM還是新手。對不起)Laravel更新表格語法錯誤

它說FatalErrorException 語法錯誤,意外 '(' 在LoginController.php(線134)

代碼 下面

public function updateUser(Request $request) 
     { 
//line 134 is here 
      User::('users')->where('user_id', session('userSocial')['id'])->update(["address" => "input['users-city']"]); 
      User::('users')->where('user_id', session('userSocial')['id'])->update(["contact" => "input['users-contact']"]); 
      User::('users')->where('user_id', session('userSocial')['id'])->update(["email" => "users-email"]); 
     } 
+0

您不能使用這些會話變量,請使用laravel會話。 –

+0

我已經在我的視圖中使用過這些會話,沒有語法錯誤。我也提到laravel的會議。 – Ralph

+0

不是關於這個問題,但是您可以將這3個語句合併爲1,因爲更新可以處理一組鍵值對 – DestinatioN

回答

1
User::where('user_id',\Session::get('userSocial')['id']) 
     ->update(["address" => $request->users-city]); 

    User::where('user_id', \Session::get('userSocial')['userSocial'] 
     ->update(["contact" => $request->users-contact]); 

    User::where('user_id', \Session::get('userSocial')['userSocial'] 
     ->update(["email" => $request->users-email]); 
+0

謝謝你!但我必須在形式和這裏替換我的變量,因爲「 - 」(破折號)像用戶 - 電子郵件因爲它給了我錯誤。我用$ request-> usersemail替換。我通過@Maraboc去了更短的代碼。感謝你們倆! – Ralph

0

我想你可以試試這個:

public function updateUser(Request $request){ 

    User::where('user_id', session('userSocial')['id'])->update(["address" => "input['users-city']"]); 

    User::where('user_id', session('userSocial')['id'])->update(["contact" => "input['users-contact']"]); 

    User::where('user_id', session('userSocial')['id'])->update(["email" => "users-email"]); 
} 

希望這對你的工作!

+0

這是否在用戶表中指定? – Ralph

1

你的語法爲DB建設者:

DB::table('users')->where('user_id', session('userSocial')['id'])->update(["address" => $request->userscity]); 
DB::table('users')->where('user_id', session('userSocial')['id'])->update(["contact" => $request->userscontact]); 
DB::table('users')->where('user_id', session('userSocial')['id'])->update(["email" => $request->usersemail]); 

可以重新組合在一個查詢更新優化的目的:

DB::table('users')->where('user_id', session('userSocial')['id']) 
      ->update([ 
        "address" => $request->userscity, 
        "contact" => $request->userscontact, 
        "email" => $request->usersemail] 
       ); 

或者你可以使用Eloquent

User::where('user_id', session('userSocial')['id']) 
     ->update([ 
      "address" => $request->userscity, 
      "contact" => $request->userscontact, 
      "email" => $request->usersemail] 
     ); 
+0

@Ralph是否適合你? – Maraboc

+0

它在「email」=>「input [」users-email「]時有效,但在數據庫中它也存儲了」input [「users-email」]。它被認爲是字符串 – Ralph

+0

我的錯誤是沒有在電子郵件中輸入[]。謝謝! – Ralph