Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Только начинаю изучать Larovel - сильно не пинайте.
Создаю миграцию:
public function up()
{
Schema::create('items', function($t){
$t->increments('id');
$t->integer('user_id');
$t->string('name');
$t->boolean('done');
$t->foreign('user_id');
});
}
Вываливается с ошибкой Syntax error - не указан references `` ()
Как видите создаю внешний ключ user_id для таблицы, но нужно передать еще два параметра в sql запросе было бы так - foreign key (`user_id`) references `user` (id)
В описании метода внешнего ключа:
public Fluent foreign(string|array $columns, string $name = null)
Specify a foreign key for the table.
В классе формирования запроса Illuminate\Database\Schema\Grammars\Grammar, методом внешнего ключа compileForeign:
параметры принимаются. Запрос правильно формируется.
Как правильно передать references `user` (id) через параметр метода foreign класса Illuminate\Database\Schema\Blueprint?
я вот так делаю
$table->integer('city_id')->unsigned()->index();
$table->foreign('city_id')->references('id')->on('cities')->onDelete('cascade');
я вот так делаю
$table->integer('city_id')->unsigned()->index();
$table->foreign('city_id')->references('id')->on('cities')->onDelete('cascade');
Спасибо! Показали как сделать индекс, внешний ключ и удаление каскадом. Все работает!
У меня один невольный вопрос - где почерпнуть информацию об этих методах. Может где в документации по API есть, а я не туда посмотрел?
Alex пишет:я вот так делаю
$table->integer('city_id')->unsigned()->index();
$table->foreign('city_id')->references('id')->on('cities')->onDelete('cascade');Спасибо! Показали как сделать индекс, внешний ключ и удаление каскадом. Все работает!
У меня один невольный вопрос - где почерпнуть информацию об этих методах. Может где в документации по API есть, а я не туда посмотрел?
http://laravel.ru/docs/v4/schema#индексы
Изменено abler98 (23.09.2014 16:57:23)
Не в сети
Страницы 1