Вот моя структура приложения,Laravel 5 Фатальная ошибка: класс не найден исключение не может получить доступ к классам модели, когда он находится внутри папки
my-first-app
|
|-app
|
| -Commands
| -Console
| -Events
| -Http
| -models(custom define folder)
|
|-Base(folder)
| |
| | -StuDetails.php
| | -StuDetailsQuery.php
|
|-Map(foder)
|-StuDetails.php
|-StuDetailsQuery.php
На самом деле я использую продвинет ORM для извлечения данных из базы данных. Я создал классы моделей внутри папки модели. Затем я попытался открыть StudetailsQuery класс внутри моего pageController класс, который находится внутри папки http, расширенной как контроллер.
Здесь:
<?php
namespace App\models\propel;
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Base\StuDetailsQuery;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class pagesController extends Controller
{
public function index()
{
$stu= StuDetailsQuery::create()->find();
return view('pages.index', compact('stu'));
}
Но я получаю сообщение об ошибке:
PHP Fatal error: Class 'Base\StuDetailsQuery' not found in /var/www/my-first-app/app/Http/Controllers/pagesController.php
Я попытался;
- композитор свалка-автозагрузка
добавив следующие строки в composer.json файлу
"Автозагрузка": { "ПСР-4": { "продвигают \": «приложение/модели/продвинет /» }}
но ничего не идет хорошо для меня .. Любые предложения, пожалуйста ??
Вам не нужно добавлять эти строки в автозагрузку. Я заметил, что ваше пространство имен неверно. Laravel 5 достаточно умен, чтобы загружать ваши классы, когда их пространства имен верны. – Digitlimit