第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從多個動態(tài)字段在數(shù)據(jù)庫中插入一個二維數(shù)組 - Laravel

從多個動態(tài)字段在數(shù)據(jù)庫中插入一個二維數(shù)組 - Laravel

PHP
ITMISS 2021-12-03 14:37:35
我使用 Laravel 創(chuàng)建了一個表單,可以在其中使用 jQuery 添加和刪除動態(tài)輸入字段。我現(xiàn)在試圖將數(shù)據(jù)插入到數(shù)據(jù)庫中,在那里我遇到了一個問題。我的數(shù)據(jù)庫存在兩個表;任務(wù)和問題?!皢栴}”表鏈接到任務(wù)表 bij task_id。這個 task_id 也應(yīng)該發(fā)送到數(shù)據(jù)庫,但我無法得到它,賴特。請參閱下面的我的代碼。謝謝您的幫助。問題控制器.php第一種方法有效,但我的任務(wù) ID 為“null”。從所有字段插入所有記錄。第二種方法只添加1個字段的數(shù)據(jù),但添加了正確的id。public function store(Request $request, Issue $issue, Task $task) {    ## First method    // foreach($request->issueInfo as $key => $value) {    //     Issue::create($value);    // }    ## Second method    foreach ($request->issueInfo as $key => $name) {        dd($name);        $names[] = [            'task_id'    => $task->id,            'issue_name' => $name,            'issue_time' => $name,            'issue_date' => $name,            'issue_type' => $name,        ];    }    Issue::insert($names);    return back();}
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

您應(yīng)該嘗試以下操作。我在小提琴中稍微調(diào)整了你的代碼。不是將所有內(nèi)容都推送到同一個數(shù)組中,而是將每個元素存儲在一個單獨的數(shù)組中。在小提琴中,您可以找到適應(yīng)代碼。在您的控制器中,您應(yīng)該執(zhí)行以下操作。您還應(yīng)該刪除 Issue $issue 因為您沒有使用它。


 public function store(Request $request, Task $task)

    {

        //



        foreach ($request->issue_name as $index  => $name) {


            $task->issues()->create([

                'issue_name' => $name,

                'issue_time' => $request->issue_time[$index],

                'issue_date' => $request->issue_date[$index],

                'issue_type' => $request->issue_type[$index]

            ]);


        }



        return back();

    }

使用刪除按鈕解決您的問題。添加到您的班級行,例如“刪除此字段”。并調(diào)整您的 javascript 代碼以刪除字段:


$('#dynamicFields').on('click', '.remove-fields', function(){

   $('.remov-this-field').remove(); i--;

})


查看完整回答
反對 回復(fù) 2021-12-03
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

使用內(nèi)置的 Eloquent 方法對您有利。首先,定義關(guān)系:


class Task

{

    public function issues()

    {

        return $this->hasMany(Issues::class);

    }

{


class Issue

{

    public function task()

    {

        return $this->belongsTo(Task::class);

    }

{

接下來寫一個好幫手的方法。請注意,該create()方法已經(jīng)接受了一個數(shù)組輸入,因此您不必foreach遍歷所有數(shù)組鍵:


class Task

{

    ...


    public function addIssue($issue)

    {

        return $this->issues()->create($issue);

    }

}

可以簡化控制器邏輯,這是進行一些服務(wù)器端驗證的好機會:


public function store(Request $request, Task $task)

{

    $attributes = request()->validate([

        // issue validation rules here

    ]);


    $task->addIssue($attributes);


    return back();

}


查看完整回答
反對 回復(fù) 2021-12-03
?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

您可以嘗試在表單中添加隱藏字段,您應(yīng)該將該字段的值設(shè)置為 task_id,然后在您提交表單時將其傳遞給 Controller。
我認為在那之后你的第一種方法應(yīng)該可以正常工作。

查看完整回答
反對 回復(fù) 2021-12-03
  • 3 回答
  • 0 關(guān)注
  • 350 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號