У меня проблема с сохранением нескольких значений отношения Один-ко-многим в БД.
Миграция:
Schema::create('articles', function(Blueprint $table)
{
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('title');
$table->string('slug', 100)->unique();
$table->LongText('body');
$table->text('excerp');
$table->integer('img_id')->unsigned()->nullable();
$table->integer('img_gal_id')->unsigned()->nullable();
$table->timestamp('published_at');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('img_gal_id')->references('id')->on('image_galleries');
$table->foreign('img_id')->references('id')->on('images');
});
форма
{!! Form::label('title', 'Title:') !!}
{!! Form::text('title', null, ['class' => 'form-container']) !!}
{!! Form::label('images', 'Article Image') !!}
{!! Form::file('images[]', ['class' => 'form-container', 'multiple']) !!}
and so on....
Часть Article.php
protected $fillable = ['title', 'user_id','slug', 'body', 'excerp','published_at', 'img_id', 'img_gal_id'];/ **
* Articles from a user.
* One To Many Relasion
* @var array
*/
public function user()
{
return $this->BelongsTo('App\User');
}
/**
* Main Image for article.
* Many to One Relasion
* @var array
*/
public function Image()
{
return $this->BelongsTo('App\Image');
}
Образ
/**
*One to many relasionship with article entity
*/
public function articles()
{
return $this->HasMany('App\Article');
}
контроллер
public function store(CreateArticleRequest $request)
{
$images = Input::file('images');
$imgobj = new Image;
// Imgprof = Upload the file and store it to db
$imgobj-> Imgprof($images);
// Uploaded img id :
$Uploadedimgid = $imgobj->Getimgids();$article = \Auth::user()->articles()->create($request->all());
}
Я храню 2 объекта в БД (изображение — imgobj и статья)
Мне удалось сохранить идентификатор пользователя в БД, но как теперь сохранить значение $ uploadedimgid в той же самой статье $ (в img_id)?
Я пытался добавить image () -> $ imgobj, но безуспешно.
Спасибо!
Задача ещё не решена.
Других решений пока нет …