Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Есть функция
public function update(Request $request,$id)
{
$category=Category::find($id);
$category->update($request->all());
$category->save();
return redirect()->route('categories')->with('message','Category '.$category->title. ' updated');
}
Нужно из $category найти атрибут "public" и если $article = App\Article::where('category_id', $category->id); что бы во все посты где $article->category_id = $category->id, сменили значение $article->public на $category->public;
Реализовал я это так
public function update(Request $request,$id)
{
$category=Category::find($id);
$category->update($request->all());
$category->save();
$article = Article::where('category_id, $category->id);
$article->public = $category->public;
$article->save();
return redirect()->route('categories')->with('message','Category '.$category->title. ' updated');
}
В итоге получаю Error сообщение с текстом "Method save does not exist".
Скажите пожалуйста как это коректно реализовать. Заранее спасибо!
Изменено MeKree (31.01.2017 12:14:41)
Не в сети
С этим кодом возвращается не модель, а квери билдер.
$article = Article::where('category_id, $category->id);
Вам надо либо явно указать ид статьи
$article = Article::where('category_id, $category->id)->find(1);
Либо так
$article = Article::where('category_id, $category->id)->first();
Не в сети
Спасибо, попробую и отпишусь
Не в сети
$article = Article::where('category_id, $category->id)->find(1);
Либо так
$article = Article::where('category_id, $category->id)->first();
Работает по сути, но в данном случае проблема что данная функция передает только в первый 'article', а нужно что бы во все Article::where('category_id', $category->id) изменялюсь значение на то что в $category->id
Не в сети
$article = Article::where('category_id, $category->id)->find(1);
Либо так
$article = Article::where('category_id, $category->id)->first();
Работает по сути, но в данном случае проблема что данная функция передает только в первый 'article', а нужно что бы во все Article::where('category_id', $category->id) изменялюсь значение на то что в $category->id
Тогда так
$article = Article::where('category_id, $category->id)->update(['public' => $category->public]);
Изменено TrueKanonir (31.01.2017 15:13:30)
Не в сети
Тогда так
$article = Article::where('category_id, $category->id)->update(['public' => $category->public]);
Спасибо, заработало!!!
Не в сети
Страницы 1