我很困惑。我正在关注la lavel文档到T并且某些东西没有正确配置?
简短:我不能像文档展示那样使用我的Eloquent模型。
The Long:
我从Laravel文档中执行了这些步骤。
创建了一个模型:php artisan make:model SavedService
namespace App;
use Illuminate\Database\Eloquent\Model;
/**
* @property integer $service_id
* @property string $title
* @property string $price
* @property string $short_description
* @property string $long_description
* @property integer $display
*/
class SavedService extends Model
{
protected $table = 'saved_services';
public $timestamps = false;
/**
* @var array
*/
protected $fillable = ['title', 'price', 'short_description', 'long_description', 'display'];
}
创建了一个控制器:php artisan make:controller datatest
将index
方法添加到控制器:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\SavedService;
class datatest extends Controller
{
public function index() {
$flights = App\SavedService::all();
foreach ($flights as $flight) {
echo $flight->name;
}
}
}
现在,use App\SavedService;
在PHPStorm中突出显示:“从未使用过SavedServices。”
此外,对于$flights = App\SavedService::all();
,应用程序以红色突出显示:“未定义的命名空间应用程序”。 SavedService突出显示,PHPStorm告诉我“Undefined class SavedService。”
如果我让PHPStorm创建SavedService类,其名称空间为App/Http/Controllers/App
...
项目结构
app
-composer.json
-Http\
-SavedService.php
--Controllers\
---dataTest.php
我的composer.json
自动加载:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
编辑:
对不起,不得不赶去,火车进站了!我想补充一些事情。首先,我正在使用一个流浪汉机器来托管这些项目,不确定这是否很重要?其次,我想使用Propel-orm。我发现雄辩并不是很有说服力。我无法推动工作,与命名空间有关。推进生成的模型将在app / Http / Models / Http / Models / ModelName中。我开始认为这是一个问题。
我没有做任何特别的事情。只需按照文档中的步骤操作即可。
此外,Eloquent似乎不像Laravel文档页面上托管的雄辩文档那样工作。例如“get()”eloquentModel :: get()。 laravel文档显示它,get()和phpstorm抛出一个合适的说$ key是预期的。雄辩的文件确认,得到($ key)。我在那里错过了什么?为什么不同,为什么不在文档中提到它。也许这与我目前的问题有关?也许答案会解决为什么我不能使用推进器?
结束编辑。
我错过了什么?我很困惑,为什么这不起作用?请帮忙!!!感谢
答案 0 :(得分:1)
更改
$flights = App\SavedService::all();
到
$flights = SavedService::all();