Я создаю простое приложение с пользователями, статьями и предложениями. Теперь Пользователь может создавать статьи и предложения для этой статьи. SO hasMany Пользователь Статья и hasMany предложения, статьи belogsTo пользователя и hasMany Предложения и предложения belongsTo пользователя и статью ... так что я пишу:Магазин предлагает(), которые имеют user_id и article_id - laravel
в модели пользователя:
public function articles(){
return $this->hasMany('App\Article');
}
public function offer(){
return $this->hasMany('App\Offer');
}
статьи по модели:
public function user(){
return $this->belongsTo('App\User');
}
public function offer(){
return $this->hasMany('App\Offer');
}
и в модели Предложение я пишу:
public function user(){
return $this->belongsTo('App\User');
}
public function article(){
return $this->belongsTo('App\Article');
}
Но теперь у меня есть probem том, как создать магазин() функцию в моей OffersController - Стараюсь:
public function store(Requests\OfferRequest $request)
{
$offer = new Offer($request->all());
Auth::user()->articles()->offer()->save($offer);
Alert::success('Offer is succesfully added!','Good job!')->persistent("Close");
return redirect('offers');
}
, но я получаю сообщение об ошибке:
BadMethodCallException in Builder.php line 2071: Call to undefined method Illuminate\Database\Query\Builder::article()
также моя форма код:
{!! Form::open(['url'=>'offers']) !!}
<div class="form-group">
{!! Form::label('price','Price') !!}
{!! Form::text('price', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Add Offer', ['class'=>'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
и мой маршрут:
Route::resource('offers', 'OffersController');
Как добавить Предложение и tha t предлагают иметь user_id от Auth :: user и article_id ...
Когда я использую: Auth::user()->offer()->save($offer);
, тогда магазин предлагает прекрасное, но только i_ user_id, и я не знаю, как я могу получить article_id для хранения для предложения.
Кроме того, я знаю, что я могу поставить {{$article->id}}
на шаблон лезвия и извлечения их из формы, но это безопасность высокий риск ...
Еще одна вещь - только пользователей (администраторов) может создать статью, но все пользователи могут поставить предлагает статью, так что мне нужно user_id в таблице предложений ...
Пожалуйста, помогите!
Правильно, я собирался сказать, что – delatbabel
Можете ли вы написать пример здесь? Как это сделать? – MonkeyBusiness
Обновите свой ответ и напишите код, и я проверю его как правильный ответ ... – MonkeyBusiness