我正在爲API使用Laravel後端的iphone應用程序。在某些時候,將會有Goole Places集成(或類似的服務)。Laravel - 第三方API的模型?
在我的應用程序中,我需要存儲用戶和地點之間的關係,這是多對多關係。然而,因爲「地點」不是由Eloquent模型(而是由Google的API)表示的,我該如何創建這種關係?我是否需要爲Google Places API創建包裝?
我正在爲API使用Laravel後端的iphone應用程序。在某些時候,將會有Goole Places集成(或類似的服務)。Laravel - 第三方API的模型?
在我的應用程序中,我需要存儲用戶和地點之間的關係,這是多對多關係。然而,因爲「地點」不是由Eloquent模型(而是由Google的API)表示的,我該如何創建這種關係?我是否需要爲Google Places API創建包裝?
這是我該怎麼做的。
您所有的型號都從基地Eloquent ORM model class延伸,這意味着您可以在擴展課程中覆蓋查找器/獲取器/設置器等。
您的Google Place模型是一種特殊情況,它不依賴於數據庫,而是依賴於Google Places API。
因此,您需要覆蓋Google Places模型的基本Eloquent模型方法。
例如:
class GooglePlace extends Eloquent{
/**
* Find a model by its primary key or return new static.
*
* @param mixed $id
* @param array $columns
* @return \Illuminate\Support\Collection|static
*/
public static function findOrNew($id, $columns = ['*'])
{
# we do not need Eloquent's database based implementation
# api code to get Google Place using $id
# perhaps use $columns to get only specific fields about the place
# from the API?
}
}
上。然後,你只需要用戶在使用谷歌的地方ID數據透視表的地方聯繫起來。
我認爲爲第三方製作模型並不相關,因爲它不是服務和使用API的雄辯角色。 否則我建議你做一個服務:
public function test(MyService $service)