2017-07-31 69 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