0

我陷入了嵌套的 hasmany 关系。这是一个场景,没有用户单独输入的单元,并且此表单中的里程碑必须等于单元数,并且每个单元可以有多个里程碑。我试图循环,但它不工作。

for($i = 1; $i <= $noOfUnit; $i++){
    $form->hasmany('majorMilestone', 'Unit '.$i , function (Form\NestedForm $form) use($visitId, $projectId, $ps2EditId, $i) {
        $form->hidden('project_id', 'ProjectId')->default($projectId);
        $form->text('major_milestone', "Major Milestone")->prepend(false);
        $form->date('scheduled', "Scheduled");
    })->setWidth(9, 3);
}

更多说明

例如,我在第一页有一个文本输入,用户在其中添加了单位数。在第二页上,我需要为每个单元记录完成日期的步骤。然后我循环了单元的数量以获得以下结构 在此处输入图像描述

我有下面的模型来添加/修改数据

namespace App\Models;
use Illuminate\Database\Eloquent\Model;

class Step2 extends Model
{

    protected $table = 'proj_clearence_bckwrd_frwrd_supply';
    public $timestamps = false;

    public function majormilestone1()
    {
        return $this->hasMany(Majormilestone::class,'edit_id')->where('unit_no', '1');
    }
    public function majormilestone2()
    {
        return $this->hasMany(Majormilestone::class,'edit_id')->where('unit_no', '2');
    }
    public function majormilestone3()
    {
        return $this->hasMany(Majormilestone::class,'edit_id')->where('unit_no', '3');
    }
}

但此代码仅限于三个单元。我需要删除这个依赖。我希望这现在很清楚。

这是MajorMilestone模型的代码。

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Majormilestone extends Model
{
    protected $table = 'major_milestone';
    protected $fillable = ['project_id', 'edit_id', 'visit_id', 'unit_no',  'major_milestone', 'scheduled', 'anticipated', 'actual', 'remarks']; 
    public $timestamps = false;

    public function step2()
    {
        return $this->belongsTo(Step2::class,'edit_id');
   }
}
4

0 回答 0