[解決済み] エラーベーステーブルまたはビューが見つかりませんを修正する方法:1146テーブルlaravelの関係テーブル?
2022-02-02 16:50:48
質問
私はlaravelの新しいです私はテーブル間の多対多の関係を作成しようとして、私の問題は私がデータベースにデータを挿入するとき、私はエラーが発生しました。
QueryException in Connection.php line 713: SQLSTATE[42S02]: ベースとなるテーブルまたはビューが見つかりません:1146 テーブル 'learn.category_posts' が存在しません(SQL:insert into
category_posts
(
category_id
,
posts_id
) の値 (4, ))
そして、以下は私のマイグレートとコードです。
2016_08_04_131009_create_table_posts.php
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->text('title');
$table->text('body');
$table->timestamps();
});
}
2016_08_04_131053_create_table_categories.php
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
}
2016_08_04_131413_create_table_category_posts.php
public function up()
{
Schema::create('category_post', function (Blueprint $table) {
$table->increments('id');
$table->integer('category_id')->unsigned();
$table->integer('post_id')->unsigned();
$table->foreign('category_id')->references('id')->on('categories')->onUpdate('cascade')->onDelete('cascade');
$table->foreign('post_id')->references('id')->on('posts')->onUpdate('cascade')->onDelete('cascade');
$table->timestamps();
});
}
と私のモデル Posts.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Posts extends Model
{
protected $table = 'posts';
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
カテゴリ.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $table = 'categories';
public function posts()
{
return $this->belongsToMany('App\Posts');
}
}
私のPostsController.php
public function create()
{
$categories = Category::all();
return view('create',compact('categories'));
}
public function store(Request $request)
{
$post = new Posts;
$post->title = $request->title;
$post->body = $request->body;
$post->categories()->attach($request->categories_id);
return redirect()->route('posts.index');
}
マイビュー create.blade.php
{!!Form::open(array('route' => 'store', 'method' => 'POST'))!!}
{{Form::text('title')}}<br>
{{Form::textarea('body')}}<br>
<select name="categories_id" multiple>
@foreach ($categories as $category)
<option value="{{ $category->id }}">{{ $category->name }}</option>
@endforeach
</select>
<br>
{{Form::submit('submit')}}
{!!Form::close()!!}
解決方法は?
Laravelは
category_posts
テーブルを使用します (多対多の関係のため)。しかし、あなたはこのテーブルを持っていません。
category_post
テーブルを作成します。テーブルの名前を
category_posts
.
関連
-
[解決済み] Laravelをアンインストールするには?
-
[解決済み] Laravelをインストールする際にエラーが発生しました。"./composer.json is not writable." というエラーが出ました。
-
[解決済み] Laravel Homesteadを使用しています。'入力ファイルが指定されていない'
-
[解決済み] Laravel、each()関数でできることは?
-
入力ファイルを開くことができませんでした:artisan
-
エラーの解決方法です。警告: count():Parameter は配列か、プロジェクトで Countable を実装したオブジェクトでなければなりません。
-
タイプエラーです。Too few arguments to function IlluminateSupport ゙Manager::createDriver()
-
[解決済み】「Unchecked runtime.lastError: The message port closed before a response was received' chrome issue?
-
[解決済み】Eloquent Collection。空白のカウントと検出
-
[解決済み】Laravel 5 - artisan seed 【ReflectionException】クラスSongsTableSeederが存在しない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 未定義のメソッドIlluminateFoundationApplication::bindShared()への呼び出し。
-
[解決済み] Laravelをインストールする際にエラーが発生しました。"./composer.json is not writable." というエラーが出ました。
-
[解決済み] htmlentities() はパラメータ 1 が文字列であることを予期しており、オブジェクトが与えられている
-
入力ファイルを開くことができませんでした:artisan
-
エラーの解決方法です。警告: count():Parameter は配列か、プロジェクトで Countable を実装したオブジェクトでなければなりません。
-
[解決済み] のエラーが発生しました。OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 [重複].
-
[解決済み】Laravel - Eloquent "Has", "With", "WhereHas" - これらの意味は何ですか?
-
[解決済み】Eloquent Collection。空白のカウントと検出
-
[解決済み】PHP7:ext-domのインストール問題
-
[解決済み】Laravel Eloquent。all()の結果の順序付け