php - Laravel:将模型注入其中时销毁触发从表中选择的方法
问题描述
public function destroy(
SubmissionType $submissionType,
int $id
) {
return response([], 200);
}
此代码触发
select * from table where id = 1 and deleted_at is null limit 1
为什么会这样?我不希望它自动运行选择查询。我想注入一个虚拟模型并编写一个测试,这种自动行为会引发 500 内部服务器错误。
解决方案
在Laravl
你有依赖注入和模型绑定。在您的情况下,这意味着您可以将模型注入到您的控件中,它会自动从数据库中获取它,这在大多数情况下都非常好。
所以想象你的路线。
submissiontypes/{submissionTypeId}
如果您按如下方式定义您的销毁方法,则不会在数据库中触发任何内容。
public function destroy(int $submissionTypeId) {
}
如果要进行模型绑定,请执行以下操作。这将告诉Laravel
您在 submitTypeId 上获取您的提交类型并自动加载您的 SubmissionType 模型。
public function destroy(SubmissionType $submissionType) {
}
推荐阅读
- javascript - 匹配西班牙语单词替换方法
- sql - 如何在 Oracle SQL 中进行非常特殊的分组
- python - 如果不透明度≠ 1.0,python 中的 Plotly 3d-surface plot opacity error 总是给出透明的
- sql - 多维数据集 SQL ORA-00936 缺少表达式
- java - 如何过滤 TreeMap
>> , - github - 使用 Octokit API 从 GitHub Actions 获取最新的工作流程
- c# - 无法在 .Net 核心中模拟 Auto Mapper
- amazon-web-services - AWS Managed AD SSL 证书导出
- javascript - 使用没有 ID 的 createDocumentFragment()
- q# - 我的 Q# 语言服务器不会停止在 VS Code 上下载