Я столкнулся с конфликтом именования при работе с моими базами данных (вместе с другими командами консоли).Именование конфликта в Laravel 5 База данных посева
все мои модели хранятся в каталоге app/Models
и находятся в пространстве имен App\Models
. в этой директории есть базовая модель: Model.php
, которая расширяет базовую модель laravel.
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model as BaseModel;
abstract class Model extends BaseModel {}
некоторые из моих моделей продлить этот базовый класс, например
<?php namespace App\Models;
class User extends Model {}
некоторые из моих моделей расширить красноречивую модель непосредственно, например,
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Sport extends Model {}
это прекрасно работает, когда мое приложение доступ через http, и нет конфликтов имен. Однако, когда я пытаюсь запустить консольную команду, например, db:seed
, я получаю следующее сообщение об ошибке:
PHP Fatal error: Cannot use Illuminate\Database\Eloquent\Model as Model because the name is already in use in /home/vagrant/Code/wisletics/app/Models/Sport.php on line 3
мое первоначальное предположение, что Laravel собирает семенные файлы как-то, что является причиной конфликта. есть ли у кого-нибудь какие-либо идеи или кто-то еще сталкивается с этой проблемой?
Скомпилированный файл может быть найден в каталоге хранения 'storage/framework/compiled.php' – satrun77
У меня просто была мысль - можете ли вы разместить файл базы данных базы данных, пожалуйста? – Laurence
@ satrun77 Я вообще не вижу этот файл. –