Laravel готов загружаться с "с" - PullRequest
0 голосов
/ 06 июня 2018
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Place extends Model
{
    public function parent()
    {
        return $this->belongsTo('place', 'parent_id');
    }

    public function children()
    {
        return $this->hasMany('place', 'parent_id');
    }
}

это моя модель

, и здесь, в моем контроллере, я пытаюсь загрузить с "with", но после вызова метода get(), я получаю ошибку:

Class 'place' not found

вот как я это делаю:

    $data['places'] = Place::with('children', 'parent')->get();

Сам класс есть, но это происходит, только если я вызываю методы get() или find(), какие-нибудь подсказки?

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Ваши отношения неверны, используйте App\Place примечание App и прописной P на месте.

class Place extends Model
{
    public function parent()
    {
        return $this->belongsTo('App\Place', 'parent_id');
    }

    public function children()
    {
        return $this->hasMany('App\Place', 'parent_id');
    }
}
0 голосов
/ 06 июня 2018

Измените его следующим образом, так как вам нужно указать пространство имен и модель. В обеих функциях 'App \ Place'

public function parent()
{
   return $this->belongsTo('App\Place', 'parent_id');
}

Place::with(['children', 'parent'])->get();
OR
Place::with('children')->with('parent')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...