问题描述
我正在开发一个与外部/远程 Rest API 完全集成的 Laravel 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();
}
}
如果您需要进一步修改模型类以获得类似 eloquent 的模型,您可以使用或借用 jenssegers/model
。