多对多关系表单处理

时间:2019-04-10 01:45:14

标签: laravel forms eloquent relationship

我得到了以下表格:

此应用程序的目标是用于风险管理(风险记录)的工具。每个项目(project_ID)都有多个风险。每个风险都包含名称(risk_name),描述(risk_description)等。还有一个称为Catalog的东西,它保留了所有风险特征(特征-例如概率,影响,风险所有者,当前状态等)。这些类型对于某些特定项目的所有风险是通用的,但是每个项目都有不同的功能列表。 如您所见,表Risk_item保留所有项目中的所有风险值。从图片上都是可以理解的。

Database

我通过以下方式设置了多对多关系:

RiskItem.php:

 public function item_templ()
    {
        return $this->belongsTo('\App\TemplItem');
    }

    public function risk_item()
    {
        return $this->belongsTo('\App\RiskProject');
    }

RiskProject.php:

public function item_risks()
    {
        return $this->hasMany('\App\RiskItem');
    }

TemplItem.php:

public function item_risks()
{
    return $this->hasMany('\App\RiskItem');
}

控制器代码:

$risks = \App\RiskItem::with(['item_templ','risk_item'])->
            where('project_ID','1')  // only for testing
            ->orderBy('risk_number')
            ->orderBy('feature')
            ->get();

我的目标是能够使用浏览器中的表单用户界面编辑与特定项目相关的所有记录。它应该看起来像图片上的表格: Risk register

我不知道如何将适当格式的数据传输到我的视图。因为正如我之前所说,我不仅需要显示风险记录,还需要能够对其进行编辑并将其保存新值到数据库中。 此视图的外观如何? (说实话,我不太在意使用Laravel关系,它可以通过SQL查询来实现。)

0 个答案:

没有答案