2017-07-31 14 views
1

これはちょっとした問題だと思うけど、構文エラーの理由を見つけられないようだ。私はlaravelのサイトを既に参照していて、今はしばらく見つめている。 (イムまだ初心者。申し訳ありません)Laravel Update Table Syntax Error

それは、私はあなたがこれを試すことができると思い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 sessionを使用してください。 –

+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]); 

あなたは、最適化の目的のための1つのクエリで更新を再編成することができます

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