혼란 스럽습니다. 나는 laravel 문서를 T에 따르고 있는데 어떤 것이 제대로 구성되지 않았을까?Laravel 5.3, Eloqent 모델 및 네임 스페이스 문제
짧게 : 문서와 같이 제 Eloquent 모델을 사용할 수 없습니다.
긴이 :
은 내가 Laravel 워드 프로세서에서 다음 단계를 따라 갔다.php artisan make:controller datatest
가 컨트롤러에 index
방법을 추가 :
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:model SavedService
이 컨트롤러를 만들어 :
- laravel 새 블로그
- 추가 된 데이터베이스 세부 사항은
- 이 모델을 만들어 .env의합니다 : ,
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();
의 경우 앱이 빨간색으로 강조 표시됩니다. "정의되지 않은 네임 스페이스 App." SavedService가 강조 표시되고 PHPStorm이 "정의되지 않은 클래스 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을 사용하고 싶었습니다. 나는 웅변을 전혀 능숙하지 않다. 나는 propel을 네임 스페이스와 관련이있다. propel 생성 모델은 app/Http/Models/Http/Models/ModelName에 있습니다. 나는 이것이 모두 하나의 문제라고 생각하기 시작했습니다.
나는이 과정에 특별한 것을하지 않을 것이다. 설명서의 단계를 따르십시오.
또한 Eloquent는 Laravel docs 페이지에서 웅변적인 문서를 호스팅하는 방식으로 작동하지 않는 것 같습니다. 예를 들어, "get()"eloquentModel :: get(). laravel docs는 그것을 get()으로 표시하고 phpstorm은 $ key가 예상된다는 적합성을 던집니다. 웅변적인 문서는 get ($ key)을 확인합니다. 나는 거기에서 무엇을 놓치고 있습니까? 차이점은 무엇이며 왜 설명서에 언급되지 않은 것입니까? 어쩌면이게 내 현재의 문제와 관련이 있을까? 아마 내가 propel을 사용할 수없는 이유는 이것에 대한 답이 될 것입니다.
끝 편집.
무엇이 누락 되었습니까? 나는 너무 혼란스럽고, 왜 이것이 효과가없는 것일까 요? 도와주세요!!! 감사합니다
에 다음 문제로 이동 : $ 비행 = SavedService :: 찾기 (1); $ flight-> delete(); 찾기 및 삭제가 강조 표시됩니다. 메소드가 없습니다. – njDeveloper
ID가 1 인 savedService가 있습니까? 여기에 마이그레이션에 대한 내용이 표시되지 않습니다. 실행 했습니까/실행 했습니까? –
마이그레이션이 필요하지 않습니다. 선택 사항이라고 생각하십니까? 이 경우 ID가 1 인 savedService는 없지만 ID가 6 인 saveService는 없습니다.이 값을 6으로 변경해도 아무 것도 변경되지 않지만 여전히 메소드를 찾을 수 없습니다. – njDeveloper