2014-09-22 4 views
0

Я использую Joomla! 2.5, и я пытаюсь передать переменную из публичной функции в защищенную функцию внутри того же класса, но что-то я делаю неправильно. Любая идея, что это такое?Передать переменную от одной функции к другой php

public function getJobsType() {  

    $jobsquery = $db->getQuery(true); 
    // Select the records for the connected user 
    $jobsquery = "SELECT jobassigned FROM #__jobs_userac WHERE user =".$userId; 
    $db->setQuery($jobsquery); 
    $row = $db->loadRowList(); 
    // I have one row per user so it returns only one field 
    $job_id = $row['0']['0']; 
    return $job_id;} 


    protected function getListQuery() { 

    //If i set the variable values my self the query is working 
    // ex. $job_id ="1,2,3"; 

    $db = $this->getDbo(); 
    $query = $db->getQuery(true); 


    $query ->select($this->getState('list.select', 'DISTINCT a.*')); 
    $query->from('`#__jobs_data` AS a'); 

    // I want to pass the values from the getJobsType() here 
    $query->where('type IN ('.$job_id.')'); 


     ................ 

Заранее благодарим за любую помощь, которую вы можете предоставить.

+0

Итак, где вы пытаетесь передать переменную? –

+0

от getJobsType() до getListQuery() как переменная $ job_id – Chris

+1

Это только я, или вы на самом деле не вызывали getJobsType? – WreithKassan

ответ

0

Основываясь на комментариях, ваша проблема заключается в том, что вы фактически ничего не передаете своей защищенной функции. Так передать job_id по значению следующим образом:

return getListQuery($job_id); 

И изменить определение функции для:

protected function getListQuery($job_id) { 

Есть несколько способов решить вашу проблему, но это, кажется, самый прямой путь.

Смежные вопросы