供应商

时间:2017-07-18 16:56:18

标签: laravel binding model routes

问题摘要:如何制作"路线模型绑定"在Laravel上有一个软件包,可以将模型保存在供应商文件夹中吗?

长版:

我设法得到" Chatter"在项目上工作,现在我需要为它创建一些管理页面。软件包的模型位于供应商目录中,如下所示:

vendor\DevDojo\Chatter\Models\Models

例如Model" Category"位于此命名空间:

vendor\DevDojo\Chatter\Models\Models\Category

作为调用此模型的示例,如果我想获取所有行:

$categories = Models::category()->all();

现在我想知道如何在这个软件包的模型上执行Route-Model-Binding。

如果它是\ App文件夹中的模型,我会在控制器内创建一个这样的函数:

function myFunction(\App\Category $category){
    //blah blah
}

在路线档案中:

 Route::get('doSomething/{category}','MyController@myFunction');

但现在这不会起作用。为了说清楚以下功能是不会起作用的:

function myFunction(\vendor\DevDojo\Chatter\Models\Models\Category $category){
   //blah blah
}

我明白了:

Class vendor\DevDojo\Chatter\Models\Models\Category does not exist

如何在此处创建路径模型绑定?

更新 还有这段代码:

function myFunction(\DevDojo\Chatter\Models\Models\Category $category){
   //blah blah
}

会抛出相同的"未找到"错误。

令我感到困惑的是,相同的寻址在路由文件中起作用,例如:

Route::get('something/{id}','\DevDojo\Chatter\Controls\myControl@myFunction');

它只适用于路径绑定。

0 个答案:

没有答案