Skip to main content

Foreign key constraint is incorrectly formed (Laravel) reasons explained

If you ever faced this, which is obvious. Then you should remember there can be number of reasons for this to happen.

To understand this:

Suppose i have  two tables. roles and users.

In you have a user table and there you have a foreign key called role_id which is indicating roles table.
Reason Number 1: So when you run migration, laravel expects to have role table before user table. cause role_id is coming from role table. you can place your migration file of role by renaming the date.

Reason Number 2: You can declare foreign key in many ways. interger, bigInteger, unsignedBigInteger. Don't forget to give the reference table name on the example: ->references('id')->on('roles')


Comments

Popular posts from this blog

Laravel Vuejs Basic Setup

In this article we will see how to setup vue with laravel. 1) Create a laravel project: laravel new laravue 2) In web.php create a temporary route:  Route :: get ( '/test' ,  function  () {      return   view ( 'welcome' ); }); So, when you will see the welcome page once you hit the  http://laravue.test/test  url. 2) In terminal run:  npm install 3) npm install vue (In package.json file you will see that vue dependency has been added successfully) 4) Now go to resources -> js -> app.js file. Here we will have to load the vue. write the following lines in app.js.  require ( './bootstrap' ); window . Vue  =  require ( 'vue' ); const   app  =  new   Vue ({      el :   '#app' }); (Here, vue js will execute and control anything that will be inside the app id. So, for our example  let's put the app id inside the welcome view). So, inside welcome.blade.php 's body...