私のデータがJSON形式の外部サーバーから来るアプリケーションを開発しています。外部ソースからテーブルレスのデータがあります。
データベーステーブルを使用せずに、各モデル間の関係を設定したいと思います。
可能でしょうか?そのような
何か:
namespace App\Services;
class FlightService
{
/**
* @var FlightFactory
*/
private $flightFactory;
public function __construct(FlightFactory $flightFactory)
{
$this->flightFactory = $flightFactory;
}
public function getAllFlights()
{
$flightsJson = $this->getFromExternalCurl();
return $this->flightFactory->buildFlightList($flightsJson);
}
private function getFromExternalCurl()
{
return Curl::to('http://www.foo.com/flights.json')
->withData(array('foz' => 'baz'))
->asJson()
->get();
}
}
は基本的にサービスが外部のAPI呼び出しと応答になるだろう:あなたが要求して戻ってクラスのインスタンスを処理するサービスクラスを作ることができ
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'https://.../server/flights.json';
}
可能なアプローチを表し? –
このコードサンプルで私はあなたが間違った方法で方法だと思う!サービスが –
に設定されていれば、より詳しい情報を得る良い情報源へのリンクを提供できますか?それはあなたが話しているサービスコンテナですか? https://laravel.com/docs/5.4/container – aspirinemaga