我正在尝试掌握Laravel 5的窍门,并有一个问题可能很容易解决,但我正在努力。
我有一个名为 TestController 的控制器,它驻留在 ''app''Http''Controllers 中
这是控制器:
<?php
namespace App'Http'Controllers;
class TestController extends Controller {
public function test()
{
$diamonds = diamonds::find(1);
var_dump($diamonds);
}
}
然后我创建了一个驻留在/app 中的模型:
<?php
namespace App;
class diamonds extends Model {
}
把我确信存在的所有其他错误放在一边,我的问题是 laravel抛出了一个错误:
TestController中的FatalErrorException.php第10行:类 找不到"应用''http''控制器''菱形"
那么,如何让控制器理解我指向的是模型而不是控制器?
提前感谢...
必须使用命名空间在控制器中导入模型。
例如
use App'Customer;
class DashboardController extends Controller {
public function index() {
$customers = Customer::all();
return view('my/customer/template')->with('customers', $customers);
}
}
在您的情况下,您可以直接App'diamonds::find(1);
使用模型,也可以先使用 use App'diamonds;
导入它,然后像以前一样使用它。
此外,建议使用大骆驼大小写类名。所以钻石而不是钻石。您还可以使用 dd()
(转储和死亡)而不是 var_dump 来查看格式良好的变量转储。
//Your model file
<?php
namespace App'Models;
class diamonds extends Model {
}
// And in your controller
<?php
namespace App'Http'Controllers;
use App'Models'
class TestController extends Controller {
public function test()
{
$diamonds = diamonds::find(1);
var_dump($diamonds);
}
}
尝试在
控制器文件中的类降级上方添加以下行...
use App'Diamonds;
use App'Http'Requests;
use App'Http'Controllers'Controller;
use Illuminate'Http'Request;
(这假设您的模型文件称为Diamonds.php
)
最终,这里有一些问题,你们所有人都有所帮助,但是我在模型页面上缺少以下内容:
use Illuminate'Database'Eloquent'Model;