CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

18 May, 2022

Laravel looks to insert records in a table that does not exists

 Programing Coderfunda     May 18, 2022     Laravel, php     No comments   

 1

It's since two days that I'm trying to solve an issue that i face when i try to insert a record in the DB.

I'm building a project where an admin can create a list of places to visit for users.

I have created 3 tables and relative models as follow : places , place_categories, category_places (this the pivot table).

places table has the following inside :

 Schema::create('places', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
            $table->string('google_place_id');
            $table->unsignedBigInteger('property_id');
            $table->foreign('property_id')->references('id')->on('properties');
        });

And the Place model has the following :

protected $fillable = [
        'google_place_id',
        'property_id'
    ];

    public function property(){
        return $this->belongsTo(Property::class);
    }

    public function category(){
        return $this->belongsToMany(PlaceCategory::class);
    }

The place_categories table has the following code :

 Schema::create('place_categories', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->timestamps();
        });

the PlaceCategory model has the following :

 protected $fillable = [
        'name'
    ];

    public function place(){
        return $this->belongsToMany(Place::class);
    }

While the pivot category_places table has the following :

 Schema::create('category__places', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('place_id');
            $table->foreign('place_id')->references('id')->on('places');
            $table->unsignedBigInteger('category_id');
            $table->foreign('category_id')->references('id')->on('place_categories');
            $table->timestamps();
        });

And the Category_Place has the following code :

   protected $table = 'category_places';

    protected $fillable = [
        'category_id', 
        'place_id',
    ];
}

In my PlaceController, in the store method i wrote the following :

public function store(Request $request)
    {
        $googlePlaceId = $request->input('google_place_id');
        $propertyId= $request->input('property_id');
        $categories= $request->input('categories');
        

        $place = Place::create([
            'google_place_id' => $googlePlaceId,
            'property_id'=> $propertyId,
        ]);

        $place->category()->attach($categories);

        return redirect()->route('home', ['property'=> $propertyId])->with('message', 'Place correctly created');
    }

Now, when i try to insert a new place with relative categories i keep getting the following error :

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myhosthtl.place_place_category' doesn't exist
insert into `place_place_category` (`place_category_id`, `place_id`) values (1, 3)

So he's looking for a table called place_place_category that obviously does not exist, but where do he get this table from? I have also declared the protected $table in my Category_Place model.

After debugging a bit the code, i found out the the error i thrown at line 63 in the store method at this line :

  $place->category()->attach($categories);

It seem like he cant find the place_categories table, but he should insert in the category_places the record for the pivot, not in the places_categories.

Is there anybody able to help me? What Am i doing wrong?

Thank you so much for your help.

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Credit card validation in laravel
      Validation rules for credit card using laravel-validation-rules/credit-card package in laravel Install package laravel-validation-rules/cr...
  • Write API Integrations in Laravel and PHP Projects with Saloon
    Write API Integrations in Laravel and PHP Projects with Saloon Saloon  is a Laravel/PHP package that allows you to write your API integratio...
  • iOS 17 Force Screen Rotation not working on iPAD only
    I have followed all the links on Google and StackOverFlow, unfortunately, I could not find any reliable solution Specifically for iPad devic...
  • C++ in Hindi Introduction
    C ++ का परिचय C ++ एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। C ++ को Bjarne Stroustrup द्वारा विकसित किया गया था। C ++ में आने से पह...
  • Python AttributeError: 'str' has no attribute glob
    I am trying to look for a folder in a directory but I am getting the error.AttributeError: 'str' has no attribute glob Here's ...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (2)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda