【发布时间】:2020-04-27 16:34:10
【问题描述】:
请帮我解决这个问题,当我运行这段代码时,出现错误count():当我想获取no_st时,参数必须是数组或者实现了Countable的对象
public function get_no_st(Request $request){
$no_org = null;
$tgl = $request->tgl ?: date('Y-m-d');
$tgl = Helper::saveDateIndo( $tgl );
$max_no_st = $request->max_no_st ?: null;
if ( $request->org == 'KPA'){
$no_org = 'KPA.MBU';
}else if ( $request->an ) {
$no_org = $this->organisasi->select('kode_surat_atas_nama', 'kode_surat')->where('id', $request->org)->first();
$no_org = ( count($no_org) > 0
? ( trim($no_org->kode_surat_atas_nama) != null ? $no_org->kode_surat_atas_nama : $no_org->kode_surat )
: @$no_org->kode_surat );
} else {
$no_org = $this->organisasi->select('kode_surat')->where('id', $request->org)->first();
$no_org = (count($no_org) > 0 ? $no_org->kode_surat : null);
}
if(!$max_no_st) {
$max_no_st = $this->model->select('no_st_increment');
if ( $request->org == 'KPA') {
$max_no_st = $max_no_st->where('is_kpa', true);
} else {
$max_no_st = $max_no_st->where('pt_organisasi_id', $request->org);
}
if ( $tgl )
{
$max_no_st = $max_no_st->where(DB::raw('EXTRACT( YEAR FROM tgl_awal )'), date('Y', strtotime($tgl)) );
}
$max_no_st = $max_no_st->max('no_st_increment') + 1;
}
$no_st = 'ST-'.$max_no_st.'/'.($no_org ?: '-').'/'.date('n/Y', strtotime( $tgl ));
return $no_st;
}
【问题讨论】:
-
$no_org不是集合或数组。这是一个单一的对象。你不能数一个物体。从您的代码的外观来看,我猜您正在尝试检查$this->organisasi->select('kode_surat_atas_nama', 'kode_surat')->where('id', $request->org)->first();是否返回结果。 -
我正在堆砌它,如果你解决了这个问题,请帮助我