我是学习Laravel 5的新手。我正在学习一个教程,我的控制器中有以下代码。我想要的是在我的登录数据库中用ID=10
更新用户名。我遵循了教程和Laravel文档,但实际情况是它插入了另一个记录,而不是更新现有记录。我的代码出了什么问题?
Routes.hp:
Route::get('/users', "PagesController@login");
login.php(模型(
<?php
namespace App;
use Illuminate'Database'Eloquent'Model;
class login extends Model
{
public $timestamps = false;
protected $table = 'login';
protected $fillable = [
'username',
'password'
];
}
PagesController.php
<?php
namespace App'Http'Controllers;
use Illuminate'Http'Request;
use App'login; //added
use App'Http'Requests;
use App'Http'Controllers'Controller;
class PagesController extends Controller
{
public function login()
{
$login = new login;
$login::find(10);
$login->username ='updated_username';
$login->save();
}
}
创建新的login
对象意味着您正在创建新的记录。只需使用login::find()
即可加载现有记录。
class PagesController extends Controller
{
public function login()
{
$login = login::find(10);
$login->username ='updated_username';
$login->save();
}
}
class PagesController extends Controller
{
public function login()
{
$login = (new App'Login)->find(10);
$login->username ='updated_username';
$login->save();
}
}
记住,你的类名应该以大写字母"use App''Login"开头,而不是"use App''Login"。您可以选择使用"new App''Login"直接引用类。