Eloquent ORM with Laravel


Eloquent ORM with Laravel

我是laravel世界的新手,我有一个问题。我在文件或谷歌上都找不到答案,所以伙计们,请帮帮我。

ORM对那些SQL查询的等价性是什么:

 SELECT email FROM users WHERE username=test

 UPDATE users SET email=test@domain.com WHERE username=test

我需要在我的User模型类中编写特定的函数吗?或者我只能用User模型类的对象进行这些查询?

干杯

有一些方法可以做你想做的事情,可以自由选择对你更有用的方法。

使用方法链

// For "SELECT email FROM users WHERE username=test"
$email = User::where('username', 'test')->pluck('email');
// For "UPDATE users SET email=test@domain.com WHERE username=test"
User::where('username', 'test')->update( array( 'email'=>'test@domain.com' ) );

有对象

// For "SELECT email FROM users WHERE username=test"
$user = User::where('username', 'test')->first(); // Can be also an existing Eloquent object
$email = $user->email;
// For "UPDATE users SET email=test@domain.com WHERE username=test"
$user = User::where('username', 'test')->first(); // Can be also an existing Eloquent object
$user->email = "test@domain.com";
$user->save();

它将是这样的:

$user = User::where('username','test')->first();

并且要更新:

$user = User::where('username','test')->first();
$user->email = 'test@domain.com';
$user->save();