2016-12-16 4 views
0

Я создал функцию в своем HomeController.php рядом с методом index в Laravel 5.3. В методе индекса есть некоторые данные, извлеченные из базы данных, и отправленные другому методу, который должен быть проанализирован и отправлен на home view.
Моя проблема заключается в том, что laravel отображает просто пустую страницу вместо фактического home.blade.php. Ниже приведен код, который я использую для извлечения данных из базы данных и отправки их в представление. Не могли бы вы рассказать мне, что я делаю неправильно здесь?
Laravel показывает пустую страницу как вид

public function index() 
{ 
    $user_table_data = DB::table($table_name)->get();   
    $this->ChooseAction($user_table_data); 
} 

private function ChooseAction ($r_value) 
    { 

     foreach ($r_value[0] as $key => $value) 
     { 
      if ($key !=='id' && $value !== '0') 
      { 
       array_push($this->choose_action_result, $key); 
      } 
     }   

     if (!empty($this->choose_action_result)) 
     { 
      return view('home', ['rvalue' => $this->choose_action_result]); 
     }else{ 
      return view('home'); 
     } 

    } 
+0

Изменение метода 'cooseAction' от' private' до 'public' не помогло. – Tower

ответ

2

в методе индекс перезвонят частного значения

public function index() 
{ 
    $user_table_data = DB::table($table_name)->get();   
    return $this->ChooseAction($user_table_data); 
} 

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

+0

Дорогой сэр, простите меня о мутной немощи. Я добавил возврат к методу 'index', и ничего не изменилось. Должен ли я сделать что-то еще в дополнение к этому? – Tower

+0

добро пожаловать .. :) –

1

Это будет ваш код:

public function index() 
{ 
    $user_table_data = DB::table($table_name)->get();   
    return $this->ChooseAction($user_table_data); //here you also need a return 
} 

private function ChooseAction ($r_value) 
{ 

    foreach ($r_value[0] as $key => $value) 
    { 
     if ($key !=='id' && $value !== '0') 
     { 
      array_push($this->choose_action_result, $key); 
     } 
    }   

    if (!empty($this->choose_action_result)) 
    { 
     return view('home', ['rvalue' => $this->choose_action_result]); 
    }else{ 
     return view('home'); 
    } 

} 

Вы не вернули представление в своем public function index() {}, что вы получили от вашего частного метода.

+0

Дорогой сэр, простите меня о мутной немощи. Я добавил возврат к методу 'index', и ничего не изменилось. Должен ли я сделать что-то еще в дополнение к этому? – Tower

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