通过Laravel在Mysql中插入数据的最佳方法

时间:2018-12-15 17:02:19

标签: laravel

以下是通过laravel在MySql中插入数据的两种方法 方式1:

$post = Post::create([
'title' => $request->input('title'),
'body' => $request->input('body')
]);

方法2:

$post = new Post;
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->save();

我只想知道哪种方法更好,为什么?谁能告诉我哪种方法更好?

1 个答案:

答案 0 :(得分:3)

Model::create是围绕它的简单包装,如果您查看其实现的话:

public static function create(array $attributes = [])
{
    $model = new static($attributes);

    $model->save();

    return $model;
}

保存()

save()方法既用于保存新模型,又用于更新现有模型。在这里,您正在创建新模型或找到现有模型,一一设置其属性,最后保存在数据库中

save()接受完整的Eloquent模型实例

$comment = new App\Comment(['message' => 'A new comment.']);

$post = App\Post::find(1);`

$post->comments()->save($comment);

create()

create方法中,您传递数组,在模型中设置属性,并一发不可收拾在数据库中。

create()接受纯PHP数组

$post = App\Post::find(1);

$comment = $post->comments()->create([
    'message' => 'A new comment.',
]);