如何解决Laravel Cashier获得所有条纹客户
我将laravel收银机版本9与laravel 5.8一起使用,条带订阅已正确完成,每个用户都可以在用户仪表板页面上看到自己的发票。
基本上,我们在网站上使用两种类型的用户,一种是普通用户,另一种是管理员。在普通用户仪表板上,我们显示发票,并且使用下面的代码可以正常工作。
public function index()
{
try {
$invoices = Auth::user()->invoicesIncludingPending();
} catch ( \Exception $e ) {
session()->flash('status',$e->getMessage());
}
return view('invoice',compact('invoices'));
}
现在,我们希望在管理控制台中列出并显示所有用户的所有发票,以便管理员可以在管理控制台中查看所有用户的所有发票数据。您能帮助我,如何在管理控制台中实现这一目标。
解决方法
我认为您已经按照指示完成了80%的工作,因为我没有您的模型的完整信息,并且与该答案的关系只是假设。
public function socpeInvoice($query)
{
//put this type of function in your invoice model
//make a relation in your user model fro user Invoice like this the bleow commented function
/* public function invoice()
{
return $this->hasMany(Invoice::class,'user','id');
} */
//check for the condition how you get the only pending invoice hear i have used status as pending. you can check in your condition,if(Auth::user() == 'Admin'){
User::whereHas('invoice',function($query){
$query->where('status','pending');
})->orderBy('id','asc'); //check in your condition how you get the admin user
}else{
Auth::user()->invoicesIncludingPending();//you can call your function hear
}
//As i dont know the logic inside invoicesIncludingPending() function i can only help you out till this extent
}
这是基于假设的答案,因为我不了解您的模型和功能
在您的控制器上
public function index()
{
try {
$invoices = User::Invoice()->get();//or paginate
} catch ( \Exception $e ) {
session()->flash('status',$e->getMessage());
}
return view('invoice',compact('invoices'));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。