首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Laravel Nova Action中使用接口存储库?

如何在Laravel Nova Action中使用接口存储库?
EN

Stack Overflow用户
提问于 2020-11-09 16:27:00
回答 1查看 288关注 0票数 2

我正在使用Laravel Repository Pattern来管理我的资源,我想知道如何在Nova Action中使用接口?由于接口不能实例化,我想知道如何在操作中使用接口?

在我的控制器构造函数中,我创建了我的存储库,然后我可以在我的函数中使用它,但是我不知道如何在Laravel Action中做同样的事情。

你知道我该怎么做吗?

我的控制器中的一个示例

代码语言:javascript
运行
AI代码解释
复制
private $myRepository;

public function __construct(
    MyRepositoryInterface $myRepository,
)
{
    $this->myRepository = $myRepository;
}

然后在一个函数中,我可以做一些类似这样的事情

代码语言:javascript
运行
AI代码解释
复制
public function destroy($id)
{
    $this->myRepository->delete($id);

    return response()->json( array("message" => "success") );
}

现在在我的Nova Action中,这是我想要做的

代码语言:javascript
运行
AI代码解释
复制
public function handle(ActionFields $fields, Collection $models)
{
    foreach ($models as $model)
    {
        $myRepository = new MyRepositoryInterface(); // This doesn't work obviously
        $myRepository->customManipulation($model->id);
        $this->markAsFinished($model);
    }
}

你知道我该如何使用我的存储库吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-18 09:10:36

您可以执行$myRepository = App::make(MyRepositoryInterface::class);,IoC将解析它并实例化一个类实例。

我假设您已经将类绑定到接口:

代码语言:javascript
运行
AI代码解释
复制
App::bind('MyRepositoryInterface', 'MyRepository');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64755416

复制
相关文章
利用 GitHub Action 实现镜像存储库
Github Action 是 Github 推出的一项持续集成服务, 我们可以利用 Github Action 来实现多平台测试代码, 多平台打包, 访问远程服务等等.
xcsoft
2022/03/10
7720
推荐超好用的 6 款 Laravel Admin 管理模版
如果您正在为您的企业调研开发 Admin 管理后台的最佳方案,那么基于 PHP 的 Laravel 框架会是一个不错的选择,它灵活且易用,还提供了一系列开发规范和组件加速我们的开发。而在这篇文章中,码匠将为您介绍几款专门基于 Laravel 打造的美观且常用的 Admin 管理后台模板,这些模板提供了很多开箱即用的功能,不仅确保您可以轻松启动并运行一个 Admin 后台,还为您节省了大量开发时间。
码匠Majiang
2022/06/24
7.8K0
推荐超好用的 6 款 Laravel Admin 管理模版
如何在yii的controller中调用外部action
在yii中,一个controller会包含若干个action。有时为了重用或代码管理等目的,我们希望这些action可以单独定义成一个类,然后在 controller中使用。那么在yii中要如何实现呢?
跑马溜溜的球
2020/12/07
1.7K0
Spring JPA 存储库接口定义
​ 首先,定义一个特定的实体类的存储库接口,这个接口必须继承自Repository并且绑定对应的实体类和主键ID类型。如果想要引用并使用该实体类的CRUD方法,要继承CrudRepository而不是继承Repository。
Kindear
2020/09/01
2.5K0
如何在环境中存储配置
关于「在环境中存储配置」,是 The Twelve-Factor App 倡导的方法论之一。通常,应用的配置在不同环境(预发布、生产环境、开发环境等等)间会有很大差异,比如说数据库的用户名密码等等配置,通过把配置和代码分离,我们可以保证部署在不同环境的代码完全一致,如何把配置和代码分离呢?最佳实战是把配置存储到环境变量中,它可以非常方便地在不同的部署间做修改,却不动一行代码;与配置文件不同,不小心把它们签入代码库的概率微乎其微;此外环境变量与语言和系统无关。
LA0WAN9
2021/12/14
1.2K0
Laravel-Action 对代码的改造
以往写过俩篇文章 [积德篇] 如何少写PHP “烂”代码 https://blog.fastrun.cn/2018/08/15/1-51/ 举枪消灭”烂代码”的实战案例 https://blog.fastrun.cn/2018/08/15/1-51/
CrazyCodes
2018/09/18
5430
最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云
本文首发:《最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云》
蒋川
2022/03/16
10.4K0
最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云
如何在 CentOS 上启用EPEL存储库
EPEL(Extra Packages for Enterprise Linux)存储库提供了标准 Red Hat 和 CentOS 存储库中未包含的其他软件包。EPEL 存储库的创建是因为 Fedora 贡献者希望使用他们在 Red Hat Enterprise Linux(RHEL)及其衍生产品(如CentOS,Oracle Linux和Scientific Linux)上维护的软件包。
用户8705033
2021/06/08
1.9K0
openstack nova-compute在不同的hypervisors上使用不同的存储后端
实验环境 主机名 IP controller1 192.168.2.240 compute1 192.168.2.242 compute2 192.168.2.243 compute3 192.168
tanmx
2018/07/17
2.3K0
如何在 Fedora、RHEL、AlmaLinux、Rocky Linux 中启用 RPM Fusion 存储库?
RPM Fusion 是一个非官方的软件存储库,提供了许多额外的软件包,使得在 Fedora、RHEL、AlmaLinux 和 Rocky Linux 等发行版中安装第三方软件变得更加方便。在本文中,我们将详细介绍如何在这些操作系统中启用 RPM Fusion 存储库,并说明如何安装常见的第三方软件。
网络技术联盟站
2023/06/09
2.1K1
如何在 Fedora、RHEL、AlmaLinux、Rocky Linux 中启用 RPM Fusion 存储库?
[PHP] laravel 中__callStatic的使用
原因就是__callStatic魔术方法,当静态方法不存在的时候,会调用这个魔术方法
唯一Chat
2021/08/05
1.3K0
Laravel中安装使用Vue
切换到laravel工作目录,运行npm install初始化下载package.json的包
友儿
2022/09/11
8770
如何在Laravel之外使用illuminate组件详解
/。The Laravel Components | github Laravel 中有不少优质组件,那如何在 Laravel 之外使用 illuminate 组件呢?
用户8826052
2021/07/14
1.5K0
如何在Laravel 5中正确设置文件权限
为任何Web应用程序设置适当的文件权限是Web托管的重要部分。 在本教程中,您将学习如何在Linux Web服务器上托管的Laravel应用程序上正确配置文件权限。
星哥玩云
2022/07/27
5.7K0
如何在CVM实例中访问对象存储
对象存储服务与客户的VPC打通,需要客户先确认在哪个子网中使用。由腾讯云工程师进行网络配置,会在客户指定的子网中配置一个vip并与对象存储打通并映射。
本地专用集群CDC
2023/04/21
3.5K0
使用Nova, React和Meteor构建应用
Nova这个项目的初衷是想让你的定制化变得足够简单。事实上,你不仅可以扩展Nova默认的集合Posts和Comments,你也可以轻松的创建你自己的集合。 在这个视频中,我会教你如何创建一个Movi
时见疏星
2018/06/01
7000
laravel使用中遇到的问题
报错: The only supported ciphers are AES-128-CBC and AES-256-CBC
胡琦
2021/09/09
2.2K0
点击加载更多

相似问题

Laravel Nova Action停止关闭模式

112

Laravel Nova映像存储名称问题

122

Laravel Nova + Spatie媒体库

43

Laravel nova action -获取field()上的当前模型实例

429

Laravel Nova |如何在存储来自Laravel nova资源的布尔型字段时传递默认值

211
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文