1
我有以下的PHP代碼,我想知道是否可以有條件地鏈方法。如果角色爲空或空([]),我無法調用whereIn。這有效,但有沒有更乾淨的方法來做到這一點?如何在php中有條件地鏈接方法?
if ($params['roles']){
$query1 = QB::table('personnel_role')
->select(QB::raw('IF(personnel.nickname != "",CONCAT(IFNULL(personnel.first_name,"")," ", IFNULL(personnel.last_name, ""), " (",personnel.nickname,")"), CONCAT(IFNULL(personnel.first_name,"")," ", IFNULL(personnel.last_name,""))) AS "name", personnel.id'))
->leftJoin('personnel', 'personnel_role.personnel_id', '=', 'personnel.id')
->whereIn('personnel_role.role_id', $params['roles'])
->groupBy('personnel.id')->limit($params['skip'])
->offset($params['start']);
}else{
$query1 = QB::table('personnel_role')
->select(QB::raw('IF(personnel.nickname != "",CONCAT(IFNULL(personnel.first_name,"")," ", IFNULL(personnel.last_name, ""), " (",personnel.nickname,")"), CONCAT(IFNULL(personnel.first_name,"")," ", IFNULL(personnel.last_name,""))) AS "name", personnel.id'))
->leftJoin('personnel', 'personnel_role.personnel_id', '=', 'personnel.id')
->groupBy('personnel.id')
->limit($params['skip'])
->offset($params['start']);
}
我在問,因爲我不確定自己(不知道這是什麼框架) - 但你確定這些方法不必以正確的順序調用嗎? – Qirel
我也不確定。我使用的大多數框架都不關心訂單。 –