반응형
이전에 App *에서 일부 모델 파일을 수동으로 삭제하고 "s"기호 만 제거하여 다른 파일을 만들었습니다. laravel은 기본적으로 이름에서 모델을 인식 할 수 있고 Laravel standadrd의 모델은 복수가 아닌 일반으로 작성되어야하기 때문입니다.
내가 만든 모델을 삭제하기 전에 php artisan make : model 건물 -m
(건물) 모델을 제거한 후 만든 새 모델은 php artisan make:model Building 방금 's'없이 새 모델을 만들었습니다.
이제 내 사용자 모델에서 방법을 만들었습니다.
public function UserAssignedBuilding(){
return $this->hasManyThrough('App\Building','App\Area','user_id','area_id');
}
Building.php 모델 파일
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Building extends Model
{
protected $table = 'buildings';
public function areas(){
$this->belongsTo('App\Area');
}
}
Area.php 모델 파일 :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Area extends Model
{
protected $fillable = [
'name'
];
public function users(){
return $this->belongsToMany('App\User','area_user','area_id','user_id');
}
public function buildings(){
return $this->hasMany('App\Building');
}
}
PHP artisan에서 다음 명령을 실행하면 사용자에게 건물을 할당 할 수 있습니다.
>>> User::find(4)->UserAssignedBuilding
PHP warning: include(C:\xampp\htdocs\hse\vendor\composer/../../app/Buildings.php): failed to open stream: No such file or directory in C:\xampp\htdocs\hse\vendor\composer\ClassLoader.php on line 444
오류는 (Buildings.php) 모델 파일을로드하려고 시도하는 프레임 워크 인 것 같습니다. 이미 삭제하고 대신 (Building.php)를 생성했습니다.
다음을 실행합니다.
C:\xampp\htdocs\hse>composer dumpautoload
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Package manifest generated successfully.
하지만 해결되지 않은 문제
또한 건물 행을 얻으려고 시도했지만 다른 오류가 표시됩니다.
>>> Building::all()
PHP Fatal error: Class 'Building' not found in eval()'d code on line 1
해결 방법
명령에 모델 네임 스페이스가 없습니다.
그것은해야한다
App\User::find(4)->UserAssignedBuilding
과
App\Building::all()
UserAssignedBuilding
메소드도 buildings
로 변경합니다.
참조 페이지 https://stackoverflow.com/questions/46852504
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터베이스에 원격으로 연결 (0) | 2020.10.23 |
---|---|
MySQL PHP에서 MySQL 테이블 구조를 어떻게 얻습니까? 게다가 모든 테이블 목록? (0) | 2020.10.23 |
MySQL mysql에있는 경우 삭제 절차 (0) | 2020.10.23 |
MySQL iPhone에서 MySQL 데이터베이스에 연결하는 방법은 무엇입니까? (0) | 2020.10.23 |
MySQL에서 숫자로 varchar 필드 정렬 (0) | 2020.10.23 |
댓글