Laravel 5.4 - 无法更新mysql表列

时间:2017-04-24 14:33:14

标签: mysql laravel-5

所以我使用这个数据库外观并在更新表格列中雄辩地发表了

$affectedRows = DB::table('Users')
            ->where('Phone',$phonenumber)
            ->update(['IsActivated' => 'Y']);

或者这个:

$affectedRows = Users::where('Phone','=',$phonenumber)
->update(['IsActivated' => 'Y']);

但访问网址时遇到此错误

 <span class="exception_message">SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'where clause' (SQL: select * from `users` where (`0` = Phone and `1` = = and `2` = 0000000000) limit 1)</span>

2 个答案:

答案 0 :(得分:1)

您可以尝试使用

Name;Lat;Lng
Test1;="32.056717";="11.335333"
Test2;="12.056717";="19.335333"

答案 1 :(得分:1)

按照这个确切的顺序尝试这些,告诉我们哪些命令会出错。介意我使用用户和手机,而不是用户和手机。 不会影响查询。首先在您的用户模型中添加这些帮助行,位于class Users extends Model

之上
/**
 * App\User
 *
 * @property int $id
 * @property string $phone
 * @property-read \App\User $user
 * @method static wherePhone($value)
 * @mixin \Eloquent
 */

$results = DB::table('users')->where('id', '1')->first();
dd($results);
$results = DB::table('users')->where('id', '1')->get();
dd($results);
$results = DB::table('users')->where(['phone' => '000000000000'])->get();
dd($results);
$results = DB::table('users')->where('phone', '000000000000')->get();
dd($results);
$results = DB::table('users')->where('phone', $phonenumber)->get();
dd($results);
$results = DB::table('users')->wherePhone($phonenumber)->get();
dd($results);

如果这些都不起作用,那么您的模型就会出现问题。由于无法找到结果,因此无法进行更新。您可以与DB::table('users')->where(...)

进行Users::where(...)互换

您是否通过任何更改称为用户模型Users.php而不是User.php?我不久前遇到了你的问题,但不能真正记住原因是什么。它与用户模型设置有关。