내 응용 프로그램에서 이벤트 및 사용자 models.Because 나는 네임 스페이스에 넣어해야합니다 .so 다음과 같이 네임 스페이스를 만들었습니다.
관계에서 Laravel 네임 스페이스가 나를 혼동했다
이벤트
<?php namespace App\Models;
class Event extends \Eloquent {
public function user()
{
return $this->belongsTo('User');
}
사용자
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
use App\Models\Event;
class User extends Eloquent implements UserInterface, RemindableInterface {
public function events()
{
return $this->hasMany('Event');
}
사용자와 이벤트 사이의 관계는 단순한 OneToMany 있습니다. 그래서 내 EventController POST 메서드를 사용하여 새 이벤트 리소스를 만듭니다.
$e = new Event(array('keys'=>'values')); //without user_id filled
$user->events()->save($e);
동시에 오류가 발생했습니다.
Call to undefined method Illuminate\Support\Facades\Event::newQuery()
내가 잘못하지 않았다면 나는 그것이 네임 스페이스 오류라고 추측합니다. 그러나 네임 스페이스는 이미 정확하게 선언 된 것 같습니다. 하지만 비슷한 질문을하고 관계에서 다른 방법을 사용했는데 문제가 없었습니다. 개인적으로 만족스럽지 않습니다. 왜 이런 일이 발생했는지 모릅니다.
변경 당신은 당신이 그것을 사용할 필요가 네임 스페이스 내에서 Event
을 넣으면
public function events()
{
return $this->hasMany('\App\Models\Event');
}
안녕하세요 @lukasgeiter, 저는 이미 사용하려는 컨트롤러에 ** App \ Models \ Event use **를 넣었습니다. – Sanny
네임 스페이스를 사용할 때 네임 스페이스를 지정하면 어떻게됩니까? (내 두 번째 코드 블록) – lukasgeiter