in my laravel app I have a many to many relationship for Tag and VenueReview models, I created pivot table and came up with the proper relationships like I alsways do (I think) but I'm getting the following error when I try to get all Tags with Tag::all() method.
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'venuereviews.tag_id' in 'where clause' (SQL: select * from `venuereviews` where `venuereviews`.`tag_id` = 1 and `venuereviews`.`tag_id` is not null)\
Tag relationship:
public function venuereviews()
{
return $this->belongsToMany('App\Models\VenueReview', 'tag_venuereview', 'tag_id', 'venuereview_id')->withTimeStamps();
}
VenueReview relationship
public function tags()
{
return $this->belongsToMany('App\Models\Tag', 'tag_venuereview', 'venuereview_id', 'tag_id');
}
Pivot table migration:
Schema::create('tag_venuereview', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('venuereview_id')->index()->nullable();
$table->foreign('venuereview_id')->references('id')->on('venuereviews')->onDelete('cascade')->onUpdate('cascade');
$table->unsignedInteger('tag_id')->nullable()->index();
$table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade')->onUpdate('cascade');
$table->timestamps();
});
Thanks in advance!