2017-01-31 7 views
0

私に説明しましょう! 私のアプリケーションでJSONを返すプレーンなPHPのAPIがあります。Laravelのカスタムクエリのカスタムモデル

私はLaravel 5.4でWebサイトを作って、ユーザーがapiに接続されたモバイルアプリで見ることができる同じデータを表示します。

問題がありますか?私は同じ結果を得る必要があるので、私は私のAPIに従うのと同じロジックを作らなければなりません。私はデータをリストする必要がありますが、私のテーブルの1つではなく、カスタムクエリからです。そして、このクエリの結果、私はロジックをいくつか行い、view.blade.phpに戻るモデルを作成する必要があります。結局ループする。

もちろん、Laravelと一緒に作業していますが、私はすでにサーバー側にいるため、APIを使用する必要はありません。

私がしたいことはできますか? これは私のカスタムモデルの例です(私は私のAPIのjsonから画像を入れましたが、上記のようなカスタムモデルで同じ結果を得る必要があります)。クエリ結果のロジック:

enter image description here

+0

私が見ることができるものは、*ドア、窓、座席、月、年、dayOfWeek、日付*および 'part'モデルに* id、part name、object id * *名前、状態、部分id *のような何かのモデル。それ自身では、ORMは互いに関連するオブジェクトをマップします - よく、私は1対多の関係が多くの部分のコレクションを保持する1つの部分に終わると言いたいと思います。可能であれば、['toJson()'](https://laravel.com/api/5.3/Illuminate/Database/Eloquent/Model.html#method_toJson)を使用してください。 –

+0

あなたが言っているようなモデルを作るのは大丈夫です。カスタムクエリを作成して、自分のカスタムモデルと結果を一致させる方法がわかりません。次に私はモデル –

+0

のビューを渡す "私はデータをリストする必要があるが、私のテーブルから直接ではなく、カスタムクエリから来た" あなたはデータベースに直接接続されていないという意味ですか?それらのデータをどのように取得しますか? APIコールを介して? とにかく、カスタムクエリのカスタムモデルを作成する必要はありません(複雑な場合)。クエリーオブジェクトの使用を検討してください –

答えて

1
あなたはカスタムクエリを持っているコメントに従って

、あなたがモデルを作成する必要があることから。次の手順に従います。

そして、作成したMySQLのビューを使用してモデルを作成php artisan migrate

と移行

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

実行移行を作成します。

次に、通常どおりに使用するモデルを使用できます。

+0

@Faustino Gagnetenはあなたのお手伝いをしていますか? – Gayan

関連する問題