<?php
//контейнер зависимости слим т.е. подключение создано
$container['capsule'] = function($container){
$capsule = new Illuminate\Database\Capsule\Manager;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'report_db',
'username' => 'mysql',
'password' => 'mysql',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
return $capsule;
};
//вот тест контроллер
namespace Controllers;
use models\eloquent_model\myUsers;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
//это для только изменения таблицы вроде не нужно
use Illuminate\Database\Migrations\Migration;
class TestController extends AppController {
public function test(){
//контейнер зависимости slim я передаю в мой класс контроллера как аргумент
//так же аргументами передаю $request и $response - это к слову
//тут переопределяю дефолтную модель users из sentinel на свою myUsers, в учебных целях
$this->container->sentinel::getUserRepository()->setModel(myUsers::class);
$this->container->sentinel::getPersistenceRepository()->setUsersModel(myUsers::class);
//подключение capsule доступно
//var_dump($this->container->capsule);
//это все работает
//$eUser = myUsers::create( ['email' => 'email', 'password'=>'09876']);
//$eUser = myUsers::first();
//$eUser = myUsers::find(27);
//тоже все работает
//$table = new myUsers();
//$table->test();
//$table->email = 'емаил3';
//$table->password = 'земля3';
//$table->save();
//а вот с Schemа у меня проблемы
//при запуске выпадает ошибка Call to a member function connection() on null
//ну понятно - не видит подключения
//но почему модель myUsers все видит а Schema нет?
//не работает
Schema::create('test', function (Blueprint $table) {
$table->increments('id');
});
//в документации указано что можно принудительно добавить подключение вручную
//таким образом
Schema::connection('foo')->create('test', function (Blueprint $table) {
$table->increments('id');
});
//но что в качестве 'foo' идет? Подклюбчение capsule?