У меня есть два приложения в Laravel, и у них одинаковые точные модели.Чтобы модели были в одном месте, чтобы их было проще обслуживать, я создал частный репозиторий Bitbucket со следующей структурой:
database-models
-src
--Models
---Database
----Post.php
composer.json
Файл composer.json выглядит следующим образом:
{
"name":"database-models",
"autoload":{
"psr-4":{
"DbModels\\":"src/"
}
}
}
Это фактически первый раз, когда я делаю частное репо и всю эту настройку, поэтому, чтобы протестировать свой личный код репо, я добавил код приложений из репозиториев композитора:
"require": {
...
"user/database-models":"*"
},
"repositories": [
{
"type":"package",
"package": {
"name": "user/database-models",
"version":"master",
"source": {
"url": "git@bitbucket.org:user/database-models.git",
"type": "git",
"reference":"master"
}
}
}
]
Пока у меня все в порядке, и следующим и самым важным шагом я создаю команду в приложении, которая выглядит примерно так:
<?php namespace App\Console\Commands;
use Illuminate\Console\Command;
use DbModels\Models\Database\Post;
...
public function handle()
{
$posts = Post::all();
dd($posts);
}
Я запускаю composer dump-autoload
после установки этого пакета, ноКогда я запускаю команду, я получаю сообщение об ошибке:
Class 'DbModels\Models\Database\Post' not found
У меня такое ощущение, что эта ошибка довольно очевидна, но я не могу понять ее.Может кто-нибудь дать мне подсказку или решение этой проблемы?Что я здесь не так делаю?
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ :
Файл Post.php выглядит так:
<?php namespace DbModels\Models\Database;
// Used namespaces.
use Illuminate\Database\Eloquent\Model;
/**
* Class Post.
*
* @package App\Models\Database
*/
class Post extends Model
{
...
}