Класс не существует ошибка исключения отражения в laravel 5.7 - PullRequest
0 голосов
/ 10 декабря 2018

my api.php

Route::get('getProducts' , 'ProductController@getProducts');

ProductController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Services\ProductService;


class ProductController extends Controller
{
    private $productService;

    public function __construct(ProductService $productService){
        $this->productService = $productService;
    }

    public function getProducts(){
        return $this->productService->get_products();
    }

    public function addProduct(Request $request){
        $all_data = array(
            'product_name' => $request['product_name'],
            'product_code' => $request['product_code'],
            'category_id' => $request['category_id'],
            'sub_category_id' => $request['sub_category_id'],
            'unit' => $request['unit']
        );
        return $this->productService->create_product($all_data);
    }
}

ProductService.php

namespace App\Http\Services;


use App\Http\Repositories\ProductRepositary;


    class ProductService
    {
        protected $productRepositary;
        public function __construct(ProductRepositary $productRepositary){
                $this->productRepositary = $productRepositary;
        }


        public function get_products(){
            return $this->productRepositary->get_products();
        }

        public function create_product($data){
            return $this->productRepositary->create_new_product($data);
        }
    }

ProductRepositary.php

<?php

namespace App\Http\Repositories;

use App\Product;

/**
 * 
 */
Class ProductRepositary
{
    public function getModel(){
        return new Product;
    }

    public function get_products(){
        $all_data = $this->getModel()->all();
        return $all_data;
    }

    public function create_new_product($data){
        $created = $this->getModel()->firstOrCreate($data)
        return $created;
    }
}

Все выглядит хорошо, я не знаю, где мне не хватает, но я получаю эту ошибку Class App \ Http \ Repositories \ ProductRepositary не существует Я пытался

  • composer dump-autoload
  • php artisan config: кеш
  • php artisan cache: clear
  • php artisan optimize: clear

файл находится в правой директории

  • app / Http / Repositories / ProductRepositary.php

все, но ошибка есть, кто-нибудь сталкивалсята же проблема, и какое решение вы нашли для этого?

, прежде чем дать отрицательный ответ, укажите решение и дайте отрицательный балл

1 Ответ

0 голосов
/ 10 декабря 2018

Я думаю, что в вашем ProductRepositary классе внутри функции create_new_product есть синтаксическая ошибка.Вы пропустили точку с запятой, поэтому добавьте точку с запятой.

public function create_new_product($data){
    $created = $this->getModel()->firstOrCreate($data); // Here you have missed semicolon
    return $created;
}

Надеюсь, вы поймете.

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