В принципе, я вижу Красноречивый (если на то пошло, любой ORM) как накладные расходы, поскольку MongoDB сам занимается документами. Я ищу, чтобы использовать собственный код PHP MongoDB с расширенным подключением к базе данных приложения для большей производительности. Любая библиотека или простой способ достичь этого?Есть ли способ использовать MongoDB без ORM в Laravel 5?
1
A
ответ
2
Я прочитал несколько вещей и используемого драйвера PHP MongoDB с пользовательскими "Модель" кода, с базовым классом, как показано ниже:
AppModel.php
<?php
namespace App;
use MongoClient;
use MongoId;
use Log;
class AppModel {
public $collection;
public function __construct() {
$mongo = new MongoClient();
$model_name = (new \ReflectionClass($this))->getShortName();
$collection_name = str_plural(strtolower($model_name));
$this->collection = $mongo->selectCollection('proj_zabbit', $collection_name);
}
public function findById($id) {
return $this->collection->findOne(array(
'_id' => new MongoId($id)
));
}
// more wrapper functions ..
}
Расширенная модель класса:
<?php
namespace App;
class Message extends AppModel {
}
В контроллере:
<?php namespace App\Http\Controllers;
use App\Message;
class MessagesController extends Controller {
public function __construct()
{
$this->Message = new Message;
}
public function get()
{
$id = Input::get('id');
$message = $this->Message->findById($id);
return $message;
}
}
0
Там много MongoDB ODM. Если я перечисляю несколько
Я только попробовал несколько вещей с MongoDB-ODm по doctorine раньше.
+0
Это еще больше накладных расходов. На самом деле, решение, которое я ищу, - это хранить данные, наиболее близкие к MongoDB. Структура массива велика. Преобразование его в объект не дает большого прогресса, на мой взгляд. –
Смежные вопросы
- 1. Можно ли использовать Laravel 5 без фасадов?
- 2. Есть ли способ использовать аутентификацию laravel 4.2 без базы данных?
- 3. Есть ли способ создать mongodb как _id строки без mongodb?
- 4. Есть ли способ использовать HQL с MongoDB?
- 5. Есть ли способ использовать низкоуровневый сервер mongoDB от persistent-mongoDB?
- 6. Есть ли способ использовать datetime.date без года?
- 7. Есть ли способ использовать Relay без GraphQL?
- 8. Есть ли способ использовать GrowlApplicationBridge без NSClassFromString?
- 9. Есть ли способ использовать аудиоплеер без вспышки?
- 10. Есть ли метод String.Format в Laravel 5?
- 11. Есть ли лучший способ перенести существующие таблицы без внешних ключей в Laravel 5 с Eloquent?
- 12. Есть ли способ использовать Mongo/Morphia без org.bson.types.ObjectId?
- 13. Обновление Laravel 5 без id
- 14. Есть ли способ использовать VC++ 2010 без включения stdafx.h?
- 15. Laravel 5 - установка компоновщика Mongodb
- 16. Laravel 5 - Проверьте, есть ли сегодня день
- 17. Как реализовать запрос MongoDB в Laravel 5?
- 18. Laravel 5 и MongoDB соединения
- 19. Есть ли способ использовать MongoDB C# драйвер синхронно
- 20. Есть ли способ использовать клиентские сертификаты с ASP.NET 5?
- 21. Есть ли способ создать подмодули в Laravel?
- 22. Как преобразовать запрос MongoDB в Laravel 5?
- 23. Есть ли способ использовать PHPExcel с учетом Laravel?
- 24. Laravel 5 - Есть ли способ использовать встроенную аутентификацию, но запретить регистрацию?
- 25. Есть ли способ использовать laravel Form: model() с объектом Doctrine?
- 26. Laravel Request :: is() - есть ли лучший способ?
- 27. Есть ли способ использовать SpannableString в TabLayout?
- 28. Есть ли способ использовать SqlBulkCopy без преобразования данных в DataTable?
- 29. Есть ли способ использовать Twitter Digits без кнопки в Android?
- 30. Есть ли способ использовать метод openFileOutput() в классе без активности?
Есть ли что-нибудь, препятствующее вам использовать стандартный [PHP MongoDB driver] (http://docs.mongodb.org/ecosystem/drivers/php/) в вашем приложении Laravel? Это официально поддерживаемый драйвер, на котором основано большинство ODM/ORM PHP. – Stennie
На самом деле, я закончил делать то же самое. Благодаря! –