要分配动态类,但返回“找不到类'产品'”

时间:2019-04-28 11:55:31

标签: laravel-5.5

我还是这个概念的新手,这是我在几年前实现的,自从我开始使用laravel之类的框架以来,我再也没有做过。

这是代码。

<?php

namespace App\Http\Controllers;

use App\Http\Classes\SearchSubscriptionProduct;
use Corals\Modules\Subscriptions\Models\Product;
use Illuminate\Http\Request;

class SearchWideController extends Controller
{
    /**
     * Searching methods
     *
     * @param  Request $request
     * @return string
     */
    public function subscriptionProductSearch(Request $request)
    {
        $search = $request->input('search_value');
        $uri    = $request->input('uri');

        list($value, $option) = explode('/', $search);

        $class = "Product";

        $out = (new SearchSubscriptionProduct('subscriptions_products', (new $class)))
            ->search($value, $option);

        return response()->json([
            'value'  => $search,
            'option' => $option,
            'html'   => $out->getSearchTemplate(),
            'result' => $out->models(),
        ]);
    }
}

我希望这部分是动态的。

$class = "Product";

$out = (new SearchSubscriptionProduct('subscriptions_products', (new $class)))
    ->search($value, $option);

我想根据请求在$class变量上分配不同的类名。 $ class应该是一个模型,并根据给定的模型执行搜索。

现在我只是做了类似$class = "Product";的事情,看看我的想法是否可行。

不是当我尝试通过ajax提交数据时,而是我收到了此返回的错误消息

"Class 'Product' not found"

有可能吗?正确的方法是什么?

0 个答案:

没有答案