Я пытаюсь использовать красноречивый ORM от Laravel в моем собственном устаревшем проекте. У меня есть модели, настройка, и красноречивая работает нормально, но я не могу понять, как запустить необработанный SQL-запрос, используя элегантное соединение базы данных внутри модели. Мне сейчас нужно запускать необработанные запросы SQL, пока я не смогу рефактор всей кодовой базы, чтобы использовать ORM. < /P>
namespace App\Providers;
use Illuminate\Database\Capsule\Manager;
use League\Container\ServiceProvider\AbstractServiceProvider;
class DatabaseServiceProvider extends AbstractServiceProvider
{
protected $provides = [
Manager::class
];
public function register()
{
$container = $this->getContainer();
$config = $container->get('config');
$config = $config->get('db.mysql');
$capsule = new Manager;
$capsule->addConnection([
$config
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
$container->share(Manager::class, function () use ($capsule){
return $capsule;
});
}
}
< /code>
Теперь в моей модели у меня есть следующее: < /p>
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent
{
protected $table = '_users';
}
< /code>
Тогда я пытаюсь вызвать эту модель в моем контроллере: < /p>
namespace App\Controllers;
use App\Views\View;
use App\Models\User;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
class HomeController
{
protected $view;
public function __construct(View $view)
{
$this->view = $view;
}
public function index(RequestInterface $request, ResponseInterface $response)
{
$user = User::find(1);
dump($user);
}
}
< /code>
Так что все работает хорошо, но я не могу понять, как запустить необработанный запрос внутри модели? Очевидно, что ниже не сработает, но я хочу что -то подобное, создавая новую функцию и возвращает результат: < /p>
Модель: < /p>
public function customQuery()
{
$query = 'SELECT * FROM _users';
return $query;
}
< /code>
контроллер: < /p>
$user = new User;
$user->customQuery();
Подробнее здесь: https://stackoverflow.com/questions/513 ... uent-model
PHP запустить необработанный запрос SQL в красноречивой модели ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1758853678
Anonymous
Я пытаюсь использовать красноречивый ORM от Laravel в моем собственном устаревшем проекте. У меня есть модели, настройка, и красноречивая работает нормально, но я не могу понять, как запустить необработанный SQL-запрос, используя элегантное соединение базы данных внутри модели. Мне сейчас нужно запускать необработанные запросы SQL, пока я не смогу рефактор всей кодовой базы, чтобы использовать ORM. < /P>
namespace App\Providers;
use Illuminate\Database\Capsule\Manager;
use League\Container\ServiceProvider\AbstractServiceProvider;
class DatabaseServiceProvider extends AbstractServiceProvider
{
protected $provides = [
Manager::class
];
public function register()
{
$container = $this->getContainer();
$config = $container->get('config');
$config = $config->get('db.mysql');
$capsule = new Manager;
$capsule->addConnection([
$config
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
$container->share(Manager::class, function () use ($capsule){
return $capsule;
});
}
}
< /code>
Теперь в моей модели у меня есть следующее: < /p>
namespace App\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent
{
protected $table = '_users';
}
< /code>
Тогда я пытаюсь вызвать эту модель в моем контроллере: < /p>
namespace App\Controllers;
use App\Views\View;
use App\Models\User;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
class HomeController
{
protected $view;
public function __construct(View $view)
{
$this->view = $view;
}
public function index(RequestInterface $request, ResponseInterface $response)
{
$user = User::find(1);
dump($user);
}
}
< /code>
Так что все работает хорошо, но я не могу понять, как запустить необработанный запрос внутри модели? Очевидно, что ниже не сработает, но я хочу что -то подобное, создавая новую функцию и возвращает результат: < /p>
Модель: < /p>
public function customQuery()
{
$query = 'SELECT * FROM _users';
return $query;
}
< /code>
контроллер: < /p>
$user = new User;
$user->customQuery();
Подробнее здесь: [url]https://stackoverflow.com/questions/51324398/php-run-a-raw-sql-query-in-eloquent-model[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия