두 모델 : User
및 Form
이 있습니다.Laravel Eloquent relationship - 이상한 경로
class Form extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
public function manager_user()
{
return $this->belongsTo(User::class, 'manager_id');
}
}
manager_id
가 null 허용 정수 열 경우 : Form
모델은 두 개의 belongsTo
관계를 맺고있다.
$manager = App\User::findOrFail(1);
$form = App\Form::findOrFail(1);
$form->manager_user()->assign($manager);
을하지만 난 오류 얻을 :
장인 어설프게을 사용하여, 나는 폼에 관리자로 사용자를 할당하려고 (these methods 사용) 내가 잘못
$form->manager_user()->associate($gacek)
PHP Fatal error: Class 'App\App\User' not found in /var/www/html/test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 779
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'App\App\User' not found
를하고있는 중이 야 무엇을? 프레임 워크가 App\User
대신 App\App\User
을 검색하려고하는 이유는 무엇입니까?
Laravel 5.3을 새로 설치했습니다. 네임 스페이스와
편집 전체 모델 파일 :
Form
모델 :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Form extends Model
{
public function user(){
return $this->belongsTo("App\User");
}
public function manager_user(){
return $this->belongsTo("App\User", 'manager_id');
}
}
User
:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password', 'surname', 'login', 'sign'
];
protected $hidden = [
'password', 'remember_token',
];
public function forms(){
return $this->hasMany(Form::class);
}
}
아마도 네임 스페이스 문제 일 수 있습니다. –
모델의 네임 스페이스를 표시 할 수 있습니까? –
확실히 제 편집을 참조하십시오. – Gacek