微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel - 在使用远程 API 获取数据时,如何将模型传递给视图而不查询数据库?

如何解决Laravel - 在使用远程 API 获取数据时,如何将模型传递给视图而不查询数据库?

我正在开发一个与外部/远程 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。