Php Laravel 5.1表单模型绑定一对多关系

Php Laravel 5.1表单模型绑定一对多关系,php,laravel-5.1,model-binding,laravel-blade,laravel-form,Php,Laravel 5.1,Model Binding,Laravel Blade,Laravel Form,在使用数组时,是否可以形成一对多的模型绑定关系 在下面的例子中,我在工作和问题表之间有一对多关系 一份工作可以有很多问题,也可以没有问题。在我的刀片模板中,我想知道是否可以绑定此关系 因为我已经能够在job类上使用一个简单的方法来处理job industries关系getIndustryStatAttribute()。我尝试过使用getQuestionListAttribute()方法,但它不起作用 表格: jobs `id` INT(10) UNSIGNED NOT NULL AUTO_IN

在使用数组时,是否可以形成一对多的模型绑定关系

在下面的例子中,我在工作问题表之间有一对多关系

一份工作可以有很多问题,也可以没有问题。在我的刀片模板中,我想知道是否可以绑定此关系 因为我已经能够在job类上使用一个简单的方法来处理job industries关系
getIndustryStatAttribute()
。我尝试过使用
getQuestionListAttribute()
方法,但它不起作用

表格:

 jobs
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`job_title` VARCHAR(100) NOT NULL,

questions
`job_id` INT(10) UNSIGNED NOT NULL,
`question_id` INT(10) UNSIGNED NOT NULL,
`question_text` VARCHAR(150) NOT NULL,
`expected_answer` TINYINT(1) NOT NULL,
    PRIMARY KEY (`job_id`, `question_id`),
class Job extends Model {

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

    public function industries()
    {
        return $this->belongsToMany('App\Industry', 'job_industry');
    }

    public function getIndustryListAttribute()
    {
        return $this->industries->lists('id')->all();
    }

    public function getQuestionListAttribute()
    {
        return $this->questions->lists('question_text', 'question_id')->all();
    }

}

class Question extends Model {
    public function job()
    {
        return $this->belongsTo('App\Job');
    }
}
   @for ($i = 0; $i < 5; $i++)
       <div class="form-group >
          {!! Form::label("question_list.{$i}.question_text", 'Question', ['class' => '']) !!}
          {!! Form::text("question_list[{$i}][question_text]", null, ['maxlength' => '150', 'class' => 'form-control']) !!}
       </div>
       <div class="form-group">
          {!! Form::label("question_list.{$i}.expected_answer", 'Expected answer', ['class' => '']) !!}
          {!! Form::select("question_list[{$i}][expected_answer]", ['' => 'Please Select', 'true' => 'Yes', 'false' => 'No'], null, ['class' => 'form-control']) !!}
      </div>
    @endfor

     <div class="form-group">
         {!! Form::label('industry_list', 'Industry', ['class' => '']) !!}
         {!! Form::select('industry_list[]', $industries, null, ['id' => 'industry_list', 'class' => 'form-control', 'multiple']) !!}
     </div>
型号:

 jobs
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`job_title` VARCHAR(100) NOT NULL,

questions
`job_id` INT(10) UNSIGNED NOT NULL,
`question_id` INT(10) UNSIGNED NOT NULL,
`question_text` VARCHAR(150) NOT NULL,
`expected_answer` TINYINT(1) NOT NULL,
    PRIMARY KEY (`job_id`, `question_id`),
class Job extends Model {

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

    public function industries()
    {
        return $this->belongsToMany('App\Industry', 'job_industry');
    }

    public function getIndustryListAttribute()
    {
        return $this->industries->lists('id')->all();
    }

    public function getQuestionListAttribute()
    {
        return $this->questions->lists('question_text', 'question_id')->all();
    }

}

class Question extends Model {
    public function job()
    {
        return $this->belongsTo('App\Job');
    }
}
   @for ($i = 0; $i < 5; $i++)
       <div class="form-group >
          {!! Form::label("question_list.{$i}.question_text", 'Question', ['class' => '']) !!}
          {!! Form::text("question_list[{$i}][question_text]", null, ['maxlength' => '150', 'class' => 'form-control']) !!}
       </div>
       <div class="form-group">
          {!! Form::label("question_list.{$i}.expected_answer", 'Expected answer', ['class' => '']) !!}
          {!! Form::select("question_list[{$i}][expected_answer]", ['' => 'Please Select', 'true' => 'Yes', 'false' => 'No'], null, ['class' => 'form-control']) !!}
      </div>
    @endfor

     <div class="form-group">
         {!! Form::label('industry_list', 'Industry', ['class' => '']) !!}
         {!! Form::select('industry_list[]', $industries, null, ['id' => 'industry_list', 'class' => 'form-control', 'multiple']) !!}
     </div>
表格:

 jobs
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`job_title` VARCHAR(100) NOT NULL,

questions
`job_id` INT(10) UNSIGNED NOT NULL,
`question_id` INT(10) UNSIGNED NOT NULL,
`question_text` VARCHAR(150) NOT NULL,
`expected_answer` TINYINT(1) NOT NULL,
    PRIMARY KEY (`job_id`, `question_id`),
class Job extends Model {

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

    public function industries()
    {
        return $this->belongsToMany('App\Industry', 'job_industry');
    }

    public function getIndustryListAttribute()
    {
        return $this->industries->lists('id')->all();
    }

    public function getQuestionListAttribute()
    {
        return $this->questions->lists('question_text', 'question_id')->all();
    }

}

class Question extends Model {
    public function job()
    {
        return $this->belongsTo('App\Job');
    }
}
   @for ($i = 0; $i < 5; $i++)
       <div class="form-group >
          {!! Form::label("question_list.{$i}.question_text", 'Question', ['class' => '']) !!}
          {!! Form::text("question_list[{$i}][question_text]", null, ['maxlength' => '150', 'class' => 'form-control']) !!}
       </div>
       <div class="form-group">
          {!! Form::label("question_list.{$i}.expected_answer", 'Expected answer', ['class' => '']) !!}
          {!! Form::select("question_list[{$i}][expected_answer]", ['' => 'Please Select', 'true' => 'Yes', 'false' => 'No'], null, ['class' => 'form-control']) !!}
      </div>
    @endfor

     <div class="form-group">
         {!! Form::label('industry_list', 'Industry', ['class' => '']) !!}
         {!! Form::select('industry_list[]', $industries, null, ['id' => 'industry_list', 'class' => 'form-control', 'multiple']) !!}
     </div>
($i=0;$i<5;$i++)的
@for

您可以使用
表单模型访问器绑定一对多关系

class Job extends Model 
{
    use \Collective\Html\Eloquent\FormAccessible;

    public function formQuestionAttribute($value)
    {
        // This will return array, You want to implode it if you expect string.
        return $this->questions;
    }
}
在刀片文件中:

{!! Form::text('questions') !!}

有关更多信息,请参阅。

您可以使用
表单模型访问器绑定一对多关系

class Job extends Model 
{
    use \Collective\Html\Eloquent\FormAccessible;

    public function formQuestionAttribute($value)
    {
        // This will return array, You want to implode it if you expect string.
        return $this->questions;
    }
}
在刀片文件中:

{!! Form::text('questions') !!}
有关更多信息,请参阅