Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

Помогите разобраться

public function getCustomerGroupDescriptions($customer_group_id) {
          $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_group_description WHERE customer_group_id = '" . (int)$customer_group_id . "'");
      return $query;
    }

Я правильно понял, что значение аргумента getCustomerGroupDescriptions($customer_group_id) берется из запроса к БД, а именно из куска

...WHERE customer_group_id = '" . (int)$customer_group_id . "'

???

или аргумент $customer_group_id надо как-то по-другому определять заранее?

Edited by fofa
Link to post
Share on other sites

Функция получает параметр $customer_group_id и подставляет его в запрос к БД
Запрос возвращает строки из таблицы, соответствующие условию. Эти строки функция возвращает в место вызова.

Link to post
Share on other sites

21 минуту назад, shalan сказал:

 в место вызова.

т.е. значение из БД подставляется в getCustomerGroupDescriptions($customer_group_id) ?

Как задается условие параметра?

 

Edited by fofa
Link to post
Share on other sites

в контроллере при вызове передается значение

 

$this->...->getCustomerGroupDescriptions($id);

  • +1 1
Link to post
Share on other sites
16 минут назад, Otvet сказал:

в контроллере при вызове передается значение

 

$this->...->getCustomerGroupDescriptions($id);

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

Edited by fofa
Link to post
Share on other sites

Аргумент это то, что передается в функцию извне. В данной функции аргумент используется в качестве условия для получение данных из базы. Аргумент не меняется внутри этой функции.
 

  • +1 1
Link to post
Share on other sites

34 минуты назад, shalan сказал:

Аргумент это то, что передается в функцию извне. В данной функции аргумент используется в качестве условия для получение данных из базы.
 

 

Если в БД в значения customer_group_id равны 1; 2; 3, то запрос вернет все строки, связанные с этими значениями? Например:

[rows] => Array
        (
            [0] => Array
                (
                    [customer_group_id] => 1
                    [name] => name1
                    [description] => description1
                   
                )

            [1] => Array
                (
                   [customer_group_id] => 2
                    [name] => name2
                    [description] => description2
                )

            [2] => Array
                (
                    [customer_group_id] => 3
                    [name] => name3
                    [description] => description3
                )

           

        )

 

34 минуты назад, shalan сказал:

Аргумент не меняется внутри этой функции.

не понятно. Приведите пример пожалуйста

 

При выводе из модели

public function getCustomerGroupDescriptions($customer_group_id) {
          $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_group_description WHERE customer_group_id = '" . (int)$customer_group_id . "'");
echo "<pre>"; print_r($query); echo "</pre>";      
return $query;
    }

возвращается пустой массив. Почему?

Edited by fofa
Link to post
Share on other sites

запрос вернет строку соответствующую условию
добавьте вывод
 

echo "<pre>" . $customer_group_id . "</pre>";

 

Link to post
Share on other sites

21 минуту назад, shalan сказал:

запрос вернет строку соответствующую условию
добавьте вывод
 


echo "<pre>" . $customer_group_id . "</pre>";

 

ничего не возвращает.

 

2 часа назад, shalan сказал:

Аргумент это то, что передается в функцию извне.

А условие задается извне или изнутри?

Link to post
Share on other sites

12 минут назад, fofa сказал:

А условие задается извне или изнутри?

какое условие?

в метод, передается идентификатор группы.  достаем описание по идентификатору и возвращаем. все.  

у вас метод возвращает объект, может сразу вернуть массив? $query->rows

Link to post
Share on other sites

условие функции (обработка аргумента и возврат результата) в теле самой функции

аргумент - задается при вызове функции извне

 

http://php.net/manual/ru/functions.arguments.php

  • +1 1
Link to post
Share on other sites
9 минут назад, fanatic сказал:

какое условие?

 

Господин  @shalan сказал, что $customer_group_id в функции

public function getCustomerGroupDescriptions($customer_group_id) {
          $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_group_description WHERE customer_group_id = '" . (int)$customer_group_id . "'");
      return $query;
    }

выступает в качестве условия для получения данных из базы. Мне не понятно, как и где это условие задается

 

Link to post
Share on other sites

11 минут назад, AlexDW сказал:

условие функции (обработка аргумента и возврат результата) в теле самой функции

аргумент - задается при вызове функции извне

 

http://php.net/manual/ru/functions.arguments.php

Спасибо!

Link to post
Share on other sites

4 минуты назад, fofa сказал:

выступает в качестве условия для получения данных из базы. Мне не понятно, как и где это условие задается

WHERE customer_group_id = '" . (int)$customer_group_id . "'

 

Link to post
Share on other sites
7 минут назад, fanatic сказал:

WHERE customer_group_id = '" . (int)$customer_group_id . "'

 

Если я правильно понял, то оно там не задается, а используется для выборки строк. Например: условие - "243" и запрос возвращает все строки, у которых customer_group_id = 243

Link to post
Share on other sites

5 минут назад, fofa сказал:

Если я правильно понял, то оно там не задается, а используется для выборки строк

совершенно верно. да, используется в условии запроса(where).  это и имел в виду@shalan

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.