Intereting Posts
Обработка ошибок simplexml php Изменение URL-адреса в php после перезагрузки страницы Соответствие регулярных выражений вложенным начальным и конечным тегам Как указать упорядоченные переменные в файлах gettext .po? Пользовательский конфигурационный файл для codeigniter PHPUnit: продолжить после смерти, ожидать «умереть» или как-то справиться с die ()? Добавление / обновление настраиваемых полей после выбора снимков в окне мультимедиа (WordPress) Может ли PHP-прокси-скрипт вызывать функции javascript, например щелчок? Как вручную указать подсветку синтаксиса для определенного расширения в Eclipse? MySql полнотекстовый поиск в PHP с использованием ключевых слов со строкой Разница между выходом нормального API и API REST PDFTK не работает для заполнения pdf-формы, созданной в жизненном цикле Блокировать определенный IP-блок с моего сайта в PHP Значения формы HTML в переменной SESSION в виде массива разница во времени в формате ЧЧ: ММ: СС

Почему моя форма не отправляется на сводную таблицу?

Я использую Laravel 5. Я следую этому руководству об использовании формы для создания статьи с «тегами». Я заменил теги на категории. Мои статьи принадлежат ко многим категориям, а мои категории принадлежат ко многим статьям. У меня есть форма для создания новой статьи, но она создает только запись в таблице articles а не в сводной таблице article_category .

Я получаю эту ошибку:

 FatalErrorException in ArticlesController.php line 77: 

Вызов функций-членов () в массиве

Я думаю, проблема связана с четвертой строкой в ​​функции store . Я не могу найти никого с той же проблемой. Эта строка должна прикреплять id статьи к ids категорий, но она не работает. Благодарен за любую помощь.

Мои статьиКонтроллер:

 public function store(CreateArticleRequest $request) { $article = $request->all(); Article::create($article); $categoriesId = $request->input('categories'); $article->categories()->attach($categoriesId); return redirect()->route('articles_path'); } 

Пространства имен:

 namespace App\Http\Controllers; use App\Article; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Requests\CreateArticleRequest; use App\Http\Controllers\Controller; use App\Category; use App\Day; 

Маршруты:

 Route::resource('articles', 'ArticlesController', [ 'names' => [ 'index' => 'articles_path', 'show' => 'article_path', 'edit' => 'articleEdit_path', 'update' => 'articleUpdate_path', 'create' => 'articleCreate_path', 'store' => 'articleStore_path' ] ]); 

Модель статьи:

 namespace App; use Illuminate\Database\Eloquent\Model; class Article extends Model { public function categories() { return $this->belongsToMany('App\Category', 'article_category', 'category_id', 'article_id')->withTimestamps(); } protected $fillable = array('title', 'description', 'image', 'lat', 'lng'); } 

Категория Модель

 namespace App; use Illuminate\Database\Eloquent\Model; class Category extends Model { public function articles() { return $this->belongsToMany('App\Article', 'article_category', 'article_id', 'category_id')->withTimestamps(); } protected $fillable = array('name'); } 

Сводная таблица:

 Schema::create('article_category', function (Blueprint $table) { $table->integer('article_id')->unsigned()->index(); $table->foreign('article_id')->references('id')->on('articles')->onDelete('cascade'); $table->integer('category_id')->unsigned()->index(); $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade'); $table->timestamps(); }); 

Related of "Почему моя форма не отправляется на сводную таблицу?"

Это похоже на ошибку:

 $article = $request->all(); Article::create($article); 

Попробуйте это вместо этого

 $article = Article::create($request->all()); 

EDIT Исправить это отношение в вашей модели статьи

 public function categories() { return $this->belongsToMany('App\Category', 'article_category', 'article_id', 'category_id')->withTimestamps(); }