【发布时间】:2019-06-24 19:59:32
【问题描述】:
- Laravel 版本:5.8
- Nova 版本:2.0.5
- PHP 版本:7.3
- 操作系统和版本:MAC OS 10.14.4
- 浏览器类型和版本:Google Chrome 75.0.3770.100
说明:
我有一个允许创建任务的应用程序。一个任务属于一个活动。
我在活动详情页面中有一个创建按钮,如果用户点击该按钮,那么 URL 将是这样的:
http://demo.test/nova/resources/tasks/new?viaResource=campaigns&viaResourceId=1&viaRelationship=.
如您所见,我添加了resource id,因此我可以在创建任务时使用它们。类似的东西:
$campaign = Campaign::find($request->viaResourceId);
...
Select::make('Campaign', 'campaign_id')
->options([$campaign->id => $campaign->name])
->displayUsingLabels()
->withMeta(['value' => $campaign->id])
->hideWhenUpdating()
->readonly(true),
除非我将BelongsTo 字段用于另一个关系(在本例中是任务组),否则该代码有效。 BelongsTo 字段似乎提出了另一个请求,但它没有在 URL 中附加 viaResourceId,所以我无法访问我的 campaign 变量。例如,$campaign->id -> 我得到了错误:Trying to get property 'id' of non-object
【问题讨论】:
标签: php laravel laravel-nova