📜  laravel 模型保存获取 id - PHP (1)

📅  最后修改于: 2023-12-03 15:17:15.581000             🧑  作者: Mango

Laravel 模型保存获取 id

在 Laravel 中,我们可以使用 Eloquent ORM 来创建和操作数据库的数据。在很多情况下,我们需要在创建新的数据后获取其自增主键 ID。以下是如何在 Laravel 中将模型保存到数据库并获取其 ID 的方法。

创建 Eloquent 模型

首先,我们需要创建一个 Eloquent 模型。我们可以使用 Artisan 命令来生成一个默认的 User 模型。

php artisan make:model User

这将在 app/Models 目录下生成一个 User.php 文件,其内容如下:

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use HasFactory, Notifiable;

    // ...

}
在控制器中保存模型

我们可以在控制器中创建一个新的 User 模型,并使用 save() 方法来将其保存到数据库中。

use App\Models\User;

public function store(Request $request)
{
    $user = new User;
    $user->name = $request->name;
    $user->email = $request->email;
    $user->password = $request->password;
    $user->save();

    return response()->json(['message' => 'User created successfully', 'id' => $user->id]);
}

在上面的代码中,我们首先创建一个新的 User 模型,并设置其属性。然后我们使用 save() 方法来将模型保存到数据库中。最后,我们将用户的 ID 返回给客户端。

在模型中使用 create() 方法

除了在控制器中手动创建并保存模型外,我们还可以使用 create() 方法来快速创建新模型并保存到数据库中。

$user = User::create([
    'name' => $request->name,
    'email' => $request->email,
    'password' => $request->password,
]);

return response()->json(['message' => 'User created successfully', 'id' => $user->id]);

在上面的代码中,我们使用 create() 方法创建一个新的 User 模型,并将其属性设置为数组形式。然后,模型将自动保存到数据库中,并返回新的模型实例,其中包含自增主键 ID。

Conclusion

通过上述方法,我们可以在 Laravel 中非常容易地将模型保存到数据库中并获取其自增主键 ID。这对于需要在创建新记录后立即处理其 ID 的场景非常有用。