在Laravel 4中使用自引用的SQL Schema

时间:2014-06-12 08:18:51

标签: php mysql laravel laravel-4

我需要在laravel 4架构代码中使用此创建语句(MySQL)。有人可以帮忙吗? 应允许parent_id为空(null)。

CREATE TABLE `pages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `cms_page_410d0aac` (`parent_id`),
  CONSTRAINT `parent_id_refs_id_ca1f299f` FOREIGN KEY (`parent_id`) REFERENCES `cms_page` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;

1 个答案:

答案 0 :(得分:2)

试试这个:

Schema::create('pages', function($table) {
        $table->increments('id');;
        $table->unsignedInteger('parent_id')->nullable();
        $table->foreign('parent_id')->references('id')->on('cms_page');
    });