Я пытаюсь использовать красноречивый orm внутри codeigniter.Laravel Eloquent интеграция в Codeigniter
Ниже мой composer.json файл
"require": {
"php": ">=5.5.0",
"illuminate/database": "5.0"
},
"autoload": {
"classmap": [
"application/models"
]
}
В файле index.php у меня есть, я добавил
require 'vendor/autoload.php';
У меня есть создать Eloquent.php
файл в приложении/модели инициировать красноречивым
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
$CI = & get_instance();
$config = $CI->db;
$pdo = new PDO('mysql:host='.$config->hostname.';dbname='.$config->database, $config->username, $config->password);
$drivers = array(
'mysql' => '\Illuminate\Database\MySqlConnection',
'pgsql' => '\Illuminate\Database\PostgresConnection',
'sqlite' => '\Illuminate\Database\SQLiteConnection',
);
$conn = new $drivers['mysql']($pdo, $config->database, $config->dbprefix);
$resolver = new Illuminate\Database\ConnectionResolver;
$resolver->addConnection('default', $conn);
$resolver->setDefaultConnection('default');
\Illuminate\Database\Eloquent\Model::setConnectionResolver($resolver);
следующее мое Foo.php
модель
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
require_once(APPPATH.'models/Eloquent.php');
use Illuminate\Database\Eloquent\Model as Eloquent;
class Foo extends Eloquent
{
public $table = "foos";
}
В Foos.php
контроллер я пытался что-то вроде следующих
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Foos extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
var_dump(Foo::all());
}
}
Но она возвращается следующее сообщение об ошибке.
Severity: Notice
Message: Undefined property: Foos::$db
Filename: models/Eloquent.php
Line Number: 5
Что я делаю неправильно?
Вы считаете, что вместо этого загружаете его как стороннюю библиотеку? Мне просто кажется, что мне легче ... – Shay
Третья сторона, очевидно, еще один хороший вариант. но я просто хочу сначала его решить. –
Добавьте 'require 'vendor/autoload.php';' перед загрузкой codeigniter – Saty