簡體   English   中英

如何在Laravel中插入一對多關系

[英]How to insert a one to many relationship in Laravel

我在“ Home模型和“ Phones模型之間存在一對多關系

public function phones() {
    return $this -> hasMany(Phone::class);
}

在手機型號中:

public function homes() {
    return $this -> belongsTo(Home::class);
}

現在在控制器中,當我插入Home ,我想使用它來為idHomePhone表添加無限號碼。 這是我現在插入的方式:

public function store(StoreHome $request) {
    $validated = $request -> all();
    if (!$validated) {
        return $this -> sendError('Validation Error.', $validated -> errors());
    }

    $home = Home::create($validated);
    return new HomeResource($home);
}

現在,我想知道如何在電話表和房地產中插入帶有許多Phones Home

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

有關詳細信息,請閱讀文檔https://laravel.com/docs/5.8/eloquent-relationships#inserting-and-updating-related-models

更新示例:

假設您正在使用多個輸入字段進行數字輸入。

<input name="numbers[]">
<input name="numbers[]">

$phones = [];
$numbers = $request->input('numbers');
foreach($numbers as $number){
    $phones[] = [
        'number' => $number
    ];
}

$home->phones()->createMany($phones);

由於已經創建了主頁,因此可以在關系上使用savesaveMany

$home->phones()->saveMany([
    new App\Phone(['phone' => '039049230490']),
    new App\Phone(['phone' => '039049223132']),
]);

您可以在這里找到所有文檔: https : //laravel.com/docs/5.8/eloquent-relationships#the-save-method

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM