Laravel - 使用远程 API 获取数据时,如何在不查询数据库的情况下将模型传递给视图?
Laravel - How to pass model to the view without querying database when working with remote API to get Data?
我正在开发一个 Laravel 与 external/remote Rest API 完全集成的 Web 项目。我正在尝试通过隐式路由绑定将从 API 返回的模型对象传递给 GET 路由,但 Laravel 所做的默认行为是在没有数据库连接时尝试从数据库中引用该模型对象在我的应用程序中定义。
你可以customize the resolution logic:
class ApiModel
{
/**
* Retrieve the model for a bound value.
*
* @param mixed $value
* @param string|null $field
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function resolveRouteBinding($value, $field = null)
{
return Http::get('api/path/for/model')->json();
}
}
如果您需要进一步修改模型 class 以获得类似 eloquent 的模型,您可以使用或借用 jenssegers/model
。
我正在开发一个 Laravel 与 external/remote Rest API 完全集成的 Web 项目。我正在尝试通过隐式路由绑定将从 API 返回的模型对象传递给 GET 路由,但 Laravel 所做的默认行为是在没有数据库连接时尝试从数据库中引用该模型对象在我的应用程序中定义。
你可以customize the resolution logic:
class ApiModel
{
/**
* Retrieve the model for a bound value.
*
* @param mixed $value
* @param string|null $field
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function resolveRouteBinding($value, $field = null)
{
return Http::get('api/path/for/model')->json();
}
}
如果您需要进一步修改模型 class 以获得类似 eloquent 的模型,您可以使用或借用 jenssegers/model
。