Laravel 5是否将数据插入相关表格?
如何向相关表插入数据?我有两个具有一对多关系的相关表,结构如下: 版本表:Laravel 5是否将数据插入相关表格?,laravel,laravel-5,Laravel,Laravel 5,如何向相关表插入数据?我有两个具有一对多关系的相关表,结构如下: 版本表: public function up() { Schema::create('edition', function (Blueprint $table) { $table->increments('id'); $table->string('title')->unique(); $table->text
public function up()
{
Schema::create('edition', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->unique();
$table->text('cover')->nullable();
$table->timestamps();
});
//Set FK di kolom id_edition di table Journal
Schema::table('journal', function(Blueprint $table) {
$table->foreign('id_edition')->references('id')->on('edition')->onDelete('cascade')->onUpdate('cascade');
});
}
日记账表:
public function up()
{
Schema::create('journal', function (Blueprint $table) {
$table->increments('id');
$table->string('title', 200);
$table->string('author');
$table->text('abstract');
$table->text('file');
$table->integer('id_edition')->unsigned();
$table->timestamps();
});
}
版本型号:
class Edition extends Model
{
protected $table = 'edition';
protected $fillable = [
'title',
'cover',
];
public function journal()
{
return $this->hasMany('App\Journal', 'id_edition');
}
}
日记账模型:
class Journal extends Model
{
protected $table = 'journal';
protected $fillable = [
'title',
'author',
'abstract',
'file',
];
public function edition()
{
return $this->belongsTo('App\Edition', 'id_edition');
}
}
版本表中应该有许多日志,就像有许多照片的相册一样。那么,create和save方法是什么样子的呢?我尝试过,但得到的错误约束失败,以下是代码:
控制器:
public function create() {
return view('journal/create');
}
public function store(JournalRequest $request, Edition $edition) {
$input = $request->all();
//Input PDF
if ($request->hasFile('file')) {
$input['file'] = $this->uploadPDF($request);
}
//Insert data journal
$journal = Journal::create($input);
return redirect('journal');
}
用于在中打开创建表单的按钮代码:
<div class="tombol-nav">
<a href="../journal/create?edition={{$edition->id}}" class="btn btn-primary">Add new Journal to this edition</a>
</div>
假设edition_id在输入变量中,下面是如何添加属于特定版本的日志:
你是如何在store方法中获得edition_id的?不知道如何,上面的方法存储不起作用
$edition_id = $request->get('edition'); //replace this with your way of retrieving edition_id
$journal = Edition::findOrFail($edition_id)->journal()->create($input);