Как манипулировать параметром в соответствии с другим параметром в функции php? - PullRequest
0 голосов
/ 05 января 2010

У меня есть имена идентификаторов со второй частью имени таблицы плюс идентификатор.

For example 

admins_id in omc_admins table, 

customers_id in omc_customers table, 

products_id in omc_products table, 

categories_id in omc_categories table etc.

Теперь следующий код функции должен найти сирот. Например, когда я удаляю категории, он проверяет продукты и находит сирот этой категории.

Теперь я не уверен, как манипулировать параметром в соответствии с другим параметром. Например, 'id' в $ this-> db-> select ('id, name');.

идентификатор будет меняться в соответствии с $ db_table.

function checkOrphans($segment, $id, $db_table){
$data = array();
$this->db->select('id,name');
$this->db->where($id,id_clean($segment));
$Q = $this->db->get($db_table);
if ($Q->num_rows() > 0){
   foreach ($Q->result_array() as $row){
     $data[$row['id']] = $row['name'];
   }
}
$Q->free_result();  
return $data;   

}

Я думаю, что могу использовать $ db_table. Например, $ db_table - это omc_categories, я могу использовать раздел категорий и добавить к id.

categories_id.

Может кто-нибудь сказать мне, как это сделать, пожалуйста?

Я использую codeigniter, но вопрос чисто php.

1 Ответ

1 голос
/ 05 января 2010

Вы можете получить имя id следующим образом:

$id_name = preg_replace('/.*_(.*)/', '${1}_id', $db_table);

тогда

$this->db->select($id_name . ',name');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...