Php 获取未定义索引:使用Laravel 6.xx的Yajra数据表中的状态

Php 获取未定义索引:使用Laravel 6.xx的Yajra数据表中的状态,php,yajra-datatable,laravel-6.2,Php,Yajra Datatable,Laravel 6.2,我在那里存储的第一个表“提供”提供了详细信息。如果offer status=public,那么所有能够访问的用户和状态都将显示在Yajra数据表中“已批准” 否则,如果offer status=request,用户可以请求访问。当他们提交访问请求时,它将以用户id和报价id存储在报价请求表中,状态=0表示yajra datatable status pending。然后管理员可以在yajra数据表中设置status=1表示状态批准 我在这个代码中得到了这个错误 NB:对不起,英语不好 ->

我在那里存储的第一个表“提供”提供了详细信息。如果offer status=public,那么所有能够访问的用户和状态都将显示在Yajra数据表中“已批准”

否则,如果offer status=request,用户可以请求访问。当他们提交访问请求时,它将以用户id和报价id存储在报价请求表中,状态=0表示yajra datatable status pending。然后管理员可以在yajra数据表中设置status=1表示状态批准

我在这个代码中得到了这个错误

NB:对不起,英语不好

->editColumn('status', function(Offer $offer) {

                if($offer->offer_permission == 'public')
                {
                    $status = '<span class="badge badge-primary">Approve</span>';

                }elseif($offer->offer_permission == 'request')
                {
                    $checkstatus= OfferRequest::select('status')->where('offer_id', $offer->id )->where('user_id', Auth::id())->pluck('status')->toArray();

                      if($checkstatus['status'] == 0)
                         {
                                $status = '<span class="badge badge-secondary">Pending</span>';

                         }elseif ($checkstatus['status'] == '1')
                         {
                                $status = '<span class="badge badge-primary">Approve</span>';

                         }elseif ($checkstatus['status'] == '2')
                         {
                                $status = '<span class="badge badge-danger">Rejected</span>';

                         }elseif ($checkstatus['status'] == '3')
                         {
                                $status = '<span class="badge badge-danger">Blocked</span>';

                         }else
                         {
                             $status = '<a href="' . route('offers.show', $offer->id) .'"><span class="badge badge-secondary">Apply Now</span></a>';
                         }

                }

                return $status;

            })
->editColumn('status',函数(Offer$Offer){
如果($offer->offer\u permission==“public”)
{
$status='Approve';
}elseif($offer->offer\u permission=='request')
{
$checkstatus=offerquest::select('status')->where('offer_id',$offer->id)->where('user_id',Auth::id())->pull('status')->toArray();
如果($checkstatus['status']==0)
{
$status='Pending';
}elseif($checkstatus['status']=='1')
{
$status='Approve';
}elseif($checkstatus['status']=='2')
{
$status='已拒绝';
}elseif($checkstatus['status']=='3')
{
$status='已阻止';
}否则
{
$status='';
}
}
返回$status;
})

我认为您应该为checkstatus变量添加检查点,该变量是否为空

editColumn('status', function(Offer $offer) {

            if($offer->offer_permission == 'public')
            {
                $status = '<span class="badge badge-primary">Approve</span>';

            }elseif($offer->offer_permission == 'request')
            {
                $checkstatus= OfferRequest::select('status')->where('offer_id', $offer->id )->where('user_id', Auth::id())->pluck('status')->toArray();
                if(empty($checkstatus)){
                  if($checkstatus['status'] == 0)
                     {
                            $status = '<span class="badge badge-secondary">Pending</span>';

                     }elseif ($checkstatus['status'] == '1')
                     {
                            $status = '<span class="badge badge-primary">Approve</span>';

                     }elseif ($checkstatus['status'] == '2')
                     {
                            $status = '<span class="badge badge-danger">Rejected</span>';

                     }elseif ($checkstatus['status'] == '3')
                     {
                            $status = '<span class="badge badge-danger">Blocked</span>';

                     }else
                     {
                         $status = '<a href="' . route('offers.show', $offer->id) .'"><span class="badge badge-secondary">Apply Now</span></a>';
                     }
                }else{
                    $status = '<a href="' . route('offers.show', $offer->id) .'"><span class="badge badge-secondary">Apply Now</span></a>';
                }

            }

            return $status;

        })
editColumn('status',函数(Offer$Offer){
如果($offer->offer\u permission==“public”)
{
$status='Approve';
}elseif($offer->offer\u permission=='request')
{
$checkstatus=offerquest::select('status')->where('offer_id',$offer->id)->where('user_id',Auth::id())->pull('status')->toArray();
if(空($checkstatus)){
如果($checkstatus['status']==0)
{
$status='Pending';
}elseif($checkstatus['status']=='1')
{
$status='Approve';
}elseif($checkstatus['status']=='2')
{
$status='已拒绝';
}elseif($checkstatus['status']=='3')
{
$status='已阻止';
}否则
{
$status='';
}
}否则{
$status='';
}
}
返回$status;
})

试试看

我认为您应该为checkstatus变量添加检查点,该变量是否为空

editColumn('status', function(Offer $offer) {

            if($offer->offer_permission == 'public')
            {
                $status = '<span class="badge badge-primary">Approve</span>';

            }elseif($offer->offer_permission == 'request')
            {
                $checkstatus= OfferRequest::select('status')->where('offer_id', $offer->id )->where('user_id', Auth::id())->pluck('status')->toArray();
                if(empty($checkstatus)){
                  if($checkstatus['status'] == 0)
                     {
                            $status = '<span class="badge badge-secondary">Pending</span>';

                     }elseif ($checkstatus['status'] == '1')
                     {
                            $status = '<span class="badge badge-primary">Approve</span>';

                     }elseif ($checkstatus['status'] == '2')
                     {
                            $status = '<span class="badge badge-danger">Rejected</span>';

                     }elseif ($checkstatus['status'] == '3')
                     {
                            $status = '<span class="badge badge-danger">Blocked</span>';

                     }else
                     {
                         $status = '<a href="' . route('offers.show', $offer->id) .'"><span class="badge badge-secondary">Apply Now</span></a>';
                     }
                }else{
                    $status = '<a href="' . route('offers.show', $offer->id) .'"><span class="badge badge-secondary">Apply Now</span></a>';
                }

            }

            return $status;

        })
editColumn('status',函数(Offer$Offer){
如果($offer->offer\u permission==“public”)
{
$status='Approve';
}elseif($offer->offer\u permission=='request')
{
$checkstatus=offerquest::select('status')->where('offer_id',$offer->id)->where('user_id',Auth::id())->pull('status')->toArray();
if(空($checkstatus)){
如果($checkstatus['status']==0)
{
$status='Pending';
}elseif($checkstatus['status']=='1')
{
$status='Approve';
}elseif($checkstatus['status']=='2')
{
$status='已拒绝';
}elseif($checkstatus['status']=='3')
{
$status='已阻止';
}否则
{
$status='';
}
}否则{
$status='';
}
}
返回$status;
})
试试看