2017-01-31 10 views
0

Позволяет мне объяснить! У меня есть API с простой php, который использует мое приложение (возвращает JSON).Пользовательские модели для пользовательского запроса в Laravel

Теперь я создаю веб-сайт с Laravel 5.4, чтобы показать те же данные, что пользователь может видеть с помощью мобильного приложения, связанного с api.

Проблема? Мне нужно сделать ту же логику, что и в моем api (потому что мне нужно получить тот же результат). Мне нужно перечислить данные, но не напрямую из одной из моих таблиц, из пользовательского запроса, затем этот результат запроса мне нужно сделать немного логики, а затем создать модель, которую я хочу вернуться в view.blade.php зацикливаться в конце концов.

Конечно, работая с Laravel, мне не нужно использовать какие-либо api, потому что я уже на стороне сервера.

Можно делать то, что я хочу? Это пример моей пользовательской модели (я поставил изображение из своего json моего API, но мне нужно получить тот же результат с пользовательской моделью, как я сказал выше), что я буду иметь после запроса, и после того, логика в результате запроса:

enter image description here

+0

что я вижу, создавая модель «объект», которая имеет * двери, окна, места, месяц, год, деньОфис, дату * и модель 'part', которые имеют * id, название части, идентификатор объекта * и' вещь 'модель с * имя, состояние, часть id * что-то вроде этого. сам по себе ORM будет отображать объекты, связанные друг с другом - ну, я хочу сказать, отношение «один ко многим» в конечном итоге приведет к тому, что одна часть будет содержать коллекцию из многих частей. также, не зацикливайте json в лезвии, используйте ['toJson()'] (https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Model.html#method_toJson), если это возможно. –

+0

Сделайте модель, как вы сказали, хорошо, что я не знаю, как создать пользовательский запрос, а затем сопоставить результаты с моей пользовательской моделью. Затем я перехожу к моему представлению модели –

+0

«Мне нужно перечислить данные, но не напрямую из одной из моих таблиц, из пользовательского запроса« Вы имеете в виду, что вы напрямую не подключились к базе данных? то как вы получаете эти данные? через API-вызов? В любом случае вам необязательно создавать пользовательскую модель для пользовательского запроса (если это действительно сложно). рассмотрите возможность использования объектов запроса –

ответ

1

Как вы прокомментируете на вас есть пользовательский запрос и от того, что вам нужно сделать модель. Вы можете выполнить следующие шаги.

Создание миграции

public function up() 
{ 
    DB::statement(" 
    CREATE VIEW your_view_name 
    AS 
    SELECT 
     -- your query goes here 
    "); 
} 

Выполнить миграцию с php artisan migrate

Затем создать модель, используя созданный вид MySQL.

use Illuminate\Database\Eloquent\Model; 

class YourClassName extends Model 
{ 
    protected $table = 'your_view_name'; 
} 

Тогда вы можете использовать свою модель, как обычно.

+0

@Faustino Gagneten - этот ответ поможет вам? – Gayan