我有一个分支,branch_products和发票以及invoice_products模型。
分支有很多branch_products, 分支有很多发票,
发票有很多发票产品 branch_products有很多发票产品
现在回到问题, 创建新的发票产品时,我希望BelongsTo字段仅显示发票分支中的分支产品。
// InvoiceProduct.php
public function invoice() {
return $this->belongsTo('App\Models\Invoice');
}
public function branchProduct() {
return $this->belongsTo('App\Models\BranchProduct');
}
// I need something like this
public function getAvailableBranchProducts() {
// get the branch id of the invoice, doesn't work
$branchId = $this->invoice->branch_id;
// get branch products that has the given branch id, doesn't work
return whereHas('branch_products', function ($query) use ($branchId) {
$query->where('branch_id', $branchId);
})->get();
}
我不知道该如何解决。我已经尝试过wherehas,本地范围,但是没有运气。
Laravel Nova需要它。
答案 0 :(得分:0)
您可能已经解决了此问题,但是有一个软件包添加了Nova字段,可以帮助您(或其他访问此页面的人)。
https://packagist.org/packages/orlyapps/nova-belongsto-depend
非常容易安装和使用。您可以使用它或从中获得一些想法。