问题摘要:如何制作"路线模型绑定"在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');
它只适用于路径绑定。