为什么在 Laravel 中存储有关系的数据?

我有一个BlogImage模型和一个Blog模型。现在我想知道将create方法与关系一起使用是否正确,以及为什么像下面这样使用它:


$blogImage = new BlogImage();

$blogImage->blog()->create([

    //this is making the blog for me

    'title' => $request->title,

    'content' => $detail,

    'category_id' => $request->category_id,

    'author' => Auth::user()->id,

    'meta_description' => $request->title,

    'meta_image' => $meta_image,

]);

另外,我想知道这种方法和正常形式有什么区别,即:


Blog::create([

    'title' => $request->title,

    'content' => $detail,

    'category_id' => $request->category_id,

    'author' => Auth::user()->id,

    'meta_description' => $request->title,

    'meta_image' => $meta_image,

]);


慕后森
浏览 162回答 1
1回答

幕布斯7119047

简而言之:在第一个示例中,您正在创建Blog实例并将其链接到blogImage,但在第二个示例中,您仅创建了Blog模型的一个实例。在第二个例子中,你将有新的连接Blog实例blogImage与创建后$blogImage->blog()->attach($blog->id)。第一个例子的create方法描述在这里和第二个例子中的描述这里Laravel的文档。这两种方法都是正确的。使用第一个示例的时间更短。
打开App,查看更多内容
随时随地看视频慕课网APP