如何在laravel 4中建立N:N关系

如何在laravel 4中建立N:N关系,laravel,Laravel,有人能帮我建立联系人用户吗?我需要在这个表中创建两个主键,但是,我在artisan中运行它,但不起作用。有人知道如何解决这个问题吗 public function up() { Schema::create('users', function($table){ $table->increments('id'); $table->string('name',50); $table->date('born');

有人能帮我建立联系人用户吗?我需要在这个表中创建两个主键,但是,我在artisan中运行它,但不起作用。有人知道如何解决这个问题吗

public function up()
{
    Schema::create('users', function($table){
        $table->increments('id');
        $table->string('name',50);
        $table->date('born');
        $table->string('email');
        $table->timestamps();
    }); 

    Schema::create('contact', function ($t){
        $t->increments('id');
        $t->string('email');
    }); 

    Schema::create('contact_user', function ($t){
        $t->integer('id_user')->primary();
        $t->integer('id_contact')->primary();
        $t->foreign('fk_user')->references('id_user')->on('users')->onDelete('cascade')->onUpdate('cascade');
        $t->foreign('fk_contact')->references('id_contact')->on('contact')->onDelete('cascade')->onUpdate('cascade');
    });
}

这应该是可行的,但没有经过测试。大部分都是从文档中提取出来的,非常简单。我已经更改了一些列,以符合Laravel期望的命名约定。这使得建立关系时的生活变得更容易,等等

查看以下网址:

public function up()
{
    Schema::create('users', function($table) {
        $table->increments('id');
        $table->string('name',50);
        $table->date('born');
        $table->string('email');
        $table->timestamps();
    }); 

    Schema::create('contacts', function ($t) {
        $t->increments('id');
        $t->string('email');
    }); 

    Schema::create('contact_user', function ($t) {
        $t->integer('user_id')->unsigned();
        $t->integer('contact_id')->unsigned();
        $t->primary(array('user_id', 'contact_id'));
        $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
        $t->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade')->onUpdate('cascade');
    });
}

artisan返回此错误,但它是由表[Illumb\Database\QueryException]SQLSTATE[HY000]生成的:一般错误:1005无法创建表“crud.”sql-460(错误号:150)(SQL:alter table
contact\u user
add constraint contact\u ser\u contact\u id\u外键(
contact\u id
)references
contacts
id
)on delete cascade on on update cascade)您有哪个版本?试试SQL
显示变量,如“%version%”%
我刚刚在mysql 5.5上运行了这个程序,它似乎运行得很好。你问了很多问题,但从来没有将任何问题标记为正确?在你打算选择帮助他人的所有答案旁边都有一个绿色的勾号。这里有一个对你有用的链接