Проблема Laravel Dependency Injection с контроллером?

Я настроил инъекцию зависимости, так как я чувствовал, что она должна войти в мой контроллер пациента, но по какой-то причине она никогда не будет выполнять зависимость от индексной функции в последней строке, она даже вернет данные $request перед этим, но по какой-то причине не будет выполнить данные в репозитории пациентов, которые я пытаюсь вернуть.

Я попытался просто сделать: return (new Patient)->getByAccNumAndDateOrZip($this->client_code, $this->account_number, $this->dob, $this->zip);

Кроме того, имейте в виду, что да, все $requests имеют действительное значение и не возвращают пустое или нулевое значение.

И до сих пор ничего не вернуть....

namespace App\Http\Controllers\api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

//Repositories
use App\Repositories\Patient;

class PatientController extends Controller {
  private $patient;

  public function __construct(Patient $patient) {
    $this->middleware('auth.client');
    $this->patient = $patient;
  }

  public function index(Request $request) {
    //I can do return $request->client_code
    //But I can't use this dependency... It's weird...
    return $this->patient->getByAccNumAndDateOrZip($request->client_code, $request->account_number, $request->dob, $request->zip);
  }
}

Я ожидаю вызова моей зависимости, которая вытягивает всех моих пациентов по номеру счета. Зависимость — это просто стандартный класс с пространством имен App\Repositories, у него нет конструктора набора, только пара стандартных общедоступных функций, которые будут принимать определенные переменные в функции.

Зарегистрировали ли вы репозиторий пациентов у поставщика услуг?

Amade 20.01.2019 08:25

@Amade Если я понимаю его комментарий, он говорит, что его класс Repository - это просто стандартный класс без других зависимостей, поэтому ему не нужно его регистрировать.

Matt Wohler 20.01.2019 08:28

Итак, если я правильно понимаю, если ваше приложение не выполняет какой-либо код внутри метода getByAccNumAndDateOrZip? Если да, то есть ли что-нибудь в журналах ошибок?

Matt Wohler 20.01.2019 08:31

Нет ничего, он просто возвращает все пустое. Я также попытался очистить функцию, к которой я обращался, без каких-либо данных, и попытался просто вернуть «Тест»; и до сих пор ничего не получил.

theWebKeyGuy 20.01.2019 08:57

Снова проверил журналы и сказал, что имя класса Patient уже используется, изменило его на PatientRepository и исправлено!

theWebKeyGuy 20.01.2019 09:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
5
214
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изучив файлы журнала в laravel, я увидел, что система указывала, что имя класса уже используется, поэтому мне придется выбрать что-то другое.

Это было предложено Мэттом Вохлером для проверки журналов, и это помогло мне!

Еще раз спасибо всем за помощь!

Другие вопросы по теме