Laravel 5.5 подключи свой класс в контроллере - PullRequest
0 голосов
/ 01 декабря 2018

В папке «App» находится файл «MyClasses.php»:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Model1 extends Model {}
class Model2 extends Model {}

Как подключить его в контроллере с помощью use?

1 Ответ

0 голосов
/ 01 декабря 2018

Я предлагаю вам прочитать о стандартах PSR-4: https://www.php -fig.org / psr / psr-4 /

MyClasses.php не является допустимым именем длямодели в этом случае, потому что а) ни один из классов, определенных внутри него, не называется MyClasses и б) в этом файле имеется множество определений классов.

// App/Model1.php
namespace App;

use Illuminate\Database\Eloquent\Model;

class Model1 extends Model {
    protected $table = 'some_table';
}

// Controller
use App\Http\Controllers\Controller;
use App\Model1;

class SomeController extends Controller
{
    public function index()
    {
        $record = Model1::where('some_field', 1)->get();
    }
}

РЕДАКТИРОВАТЬ: уточнить.Обе модели должны находиться в своих собственных файлах, которые называются Model1.php и Model2.php в папке App.Кроме того, имена вашей модели * должны * соответствовать именам таблиц, к которым они обращаются.Поэтому, если, например, Model1 будет привязана к таблице user_confirmations, вам следует переименовать файл и класс в UserConfirmations - это будет считаться наилучшей практикой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...