0
私はジョーク、joke_tags、tagsテーブルを持っています。そして私はジョークIDと一致するすべてのタグを取得しようとしています。マイTagモデルLaravel belongsToMany、解決できない
class Joke extends Model
{
public function tags() {
return $this->belongsToMany('App\Tag', 'joke_tags', 'tag_id', 'joke_id');
}
}
:
class Tag extends Model
{
public function jokes() {
return $this->belongsToMany('App\Joke');
}
}
どちらの関数tags()
とjokes()
は動作しません...私は今、2時間そので苦労してきました。
マイデシベルレイアウト:
Schema::create('jokes', function (Blueprint $table) {
$table->increments('ID');
$table->string('author');
$table->longText('joke');
$table->timestamps();
});
Schema::create('joke_tags', function (Blueprint $table) {
$table->increments('ID');
$table->integer('joke_id')->unsigned();
$table->foreign('joke_id')->references('ID')->on('jokes');
$table->integer('tag_id')->unsigned();
$table->foreign('tag_id')->references('ID')->on('tags');
});
Schema::create('joke_votes', function (Blueprint $table) {
$table->increments('ID');
$table->integer('joke_id')->unsigned();
$table->foreign('joke_id')->references('ID')->on('jokes');
$table->string('IP');
$table->boolean('type');
});
Schema::create('tags', function (Blueprint $table) {
$table->increments('ID');
$table->string('tag');
});
laravelがあなたのプライマリキーは「ID」と命名されていると仮定しているので、なぜ違うの主キー?... – tempestor
を想定laravelありません。あなたはそれを変更し、変更したものを伝える必要があります。 –
@tempestorこの回答があなたを助けましたか?私はあなたも関係で間違った構文を使用することがわかります、彼らは動作しません。これを修正しましたか? –