2013-06-12 2 views
2

Мне было интересно, может ли кто-нибудь показать мне, как написать следующие SQL в Laravel 4 Schema Builder`?Схема здания с внешними ключами

CREATE TABLE `conversation_reply` (
`cr_id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
`reply` text, 
`user_id_fk` int(11) NOT NULL, 
`ip` varchar(30) NOT NULL, 
`time` int(11) NOT NULL, 
`c_id_fk` int(11) NOT NULL, 
FOREIGN KEY (user_id_fk) REFERENCES users(user_id), 
FOREIGN KEY (c_id_fk) REFERENCES conversation(c_id) 
); 

ответ

6

Если я понимаю, о чем вы спрашиваете, это должно быть близко;

Schema::table('conversation_reply', function($table) 
{ 
    $table->increments('cr_id'); 
    $table->text('reply')->nullable(); 
    $table->foreign('user_id_fk')->references('user_id')->on('users'); 
    $table->string('ip', 30); 
    $table->integer('time'); 
    $table->foreign('c_id_fk')->references('c_id')->on('conversation'); 
}); 
+0

Эй, Спасибо за то, что ... Один быстрый вопрос. Что означает тег -> nullable()? – BigJobbies

+0

@BigJobbies Это противоположность 'NOT NULL', поэтому это означает, что столбец можно установить в' NULL'. –

+0

О, хорошо, поэтому значение nullable будет установлено, если бы у меня было что-то вроде этого -> 'ip' varchar (30) DEFAULT NULL, – BigJobbies

1

сделайте следующее:

Ниже схемы будет идти внутри схемы-миграции файл под public function up()

//Create ** category table ** 

    Schema:Create ('category',function ($table)){ 

       //Relation: category table id used as FK -> to -> product table category_id 
       $table->increments('category_id'); 
       //category name 
       $table->string('category_name',40)->unique(); 
       //time staps: created,Updated 
       $table->timestamps(); 
    } 

Чем, внутри схемы продукта:

  //Create ** product table ** 

      Schema::create('products', function ($table){ 

       //product id 
       $table->increments('product_id'); 
       //product name 
       $table->string('p_name')->unique(); 
       //product description 
       $table->text('p_description'); 
       //created_at and updated_at column 
       $table->timestamps(); 
       //Foregine Key 
       $table->integer('category_id_fk')->unsigned(); 
       //Foreign Key link to category table 
       $table->foreign('category_id_fk')->references('category_id')->on('category'); 
     } 
Смежные вопросы