@weart

Как оптимальнее написать функции по выборке из БД, если они отличаются ток дополнительным параметром?

Привет всем.
Как оптимальнее сделать - использовать две разных функции для выборки по одну и двум параметрам или одну с условием, что второй может отсутствовать?

Например:
public static function get_all_responses( $task_id = '' ) {

	$get_results = $wpdb->get_results(
		"
		SELECT * FROM $table_name
		WHERE task_id = $task_id				
		", ARRAY_A
	); 
}


public static function get_responses_by_user( $user_id = '', $task_id = '' ) {
			
	$get_results = $wpdb->get_results(
		"
		SELECT * FROM $table_name
		WHERE task_id = $task_id
		AND sender_id = $user_id			
		", ARRAY_A
	);	
}


Какая хорошая практика в данном случае? Плодить код или проверки?
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
$user_id = '', $task_id = '' - поменяйте местами. Первой $task_id

В функции не пустой строкой а $user_id = false делайте
И проверяйте - есть есть $user_id - то добавляйте в sql
function get_responses_by_user( $task_id = '', $user_id = false ) {
    $and = '';
    if ( $user_id )
        $and = " AND sender_id = $user_id";

    $get_results = $wpdb->get_results(
        "
    SELECT * FROM $table_name
    WHERE task_id = $task_id
    $and
    ", ARRAY_A
    );
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы