Как я могу присвоить модель собственной переменной в laravel? - PullRequest
0 голосов
/ 12 июля 2020

Если заголовок вопроса не актуален, пожалуйста, отредактируйте его.

Я пытаюсь создать структуру, в которой нашел другой проект. Мне это очень нравится, но из-за недостатка знаний я не совсем понял его реализацию.

У меня есть контроллер TrainingClassTypesController, в котором я хочу использовать метод из служб или репозитория. Для меня я помещаю имя папки Services.

Итак, в папке Services у меня есть следующие:

Services:

 -- BaseAbstractMethods.php // has generic methods
 -- BaseInterfaces.php // has generic interfaces
 -- TrainingClassType // Folder Directory inside Services 
 -- -- TrainingClassTypeInterfaces.php // required interfaces
 -- -- TrainingClassTypeEloquent.php // extending & implementing all above interfaces & interfaces

Ниже TrainingClassTypeEloquent.php,

namespace App\Services\Voyager\Eloquent\TrainingClassType;

use Illuminate\Http\Request;
use App\Services\BaseAbstractMethods;
use App\Services\TrainingClassType\TrainingClassTypeInterfaces;
use App\Services\BaseInterfaces;
use App\Models\Trainings\AppTrainingClassType;

class TrainingClassTypeEloquent extends BaseAbstractMethods implements BaseInterfaces, TrainingClassTypeInterfaces
{
    public static $model;

    public function __construct(AppTrainingClassType $appTrainingClassType)
    {
        self::$model = $appTrainingClassType;
    }

    public static function updateTrainingClassType($id, $request)
    {
        $response = false;
        $isUpdated = self::$model::where('training_class_id',$id)->update([
            'app_id' => $request->app_id
        ]);

        if($isUpdated == 1){
            $response = true;
        }

        return $response;
    }
}

Итак, в других контроллерах я использую метод TrainingClassTypeEloquent::updateTrainingClassType($id, $request). Когда я пытаюсь, я получаю следующую ошибку:

Class name must be a valid object or a string

Может ли кто-нибудь рассказать мне об этой концепции и о том, как я могу исправить проблему. Я хотел бы поблагодарить, и это было бы улучшением моего мастерства.

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...