2017-02-23 21 views
0

У меня есть функция в моем помощникеВывести переменную из массива в Laravel 5.2

function somethingOrOther($id) 
{ 
     $posts = Posts::where('author_id', $id); 
     $posts_count = []; 
     $posts_count['total'] = $posts->count(); 
     $posts_count['published'] = $posts->where('status', 'published')->count(); 
     $posts_count['draft'] = $posts->where('status', 'draft')->count(); 

     return $posts_count; 
} 

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

public function profile($id) 
    { 
     $posts_count[]= somethingOrOther($id); 

     return view ('display.profile')->withPosts_count($posts_count['total'])->withPosts_published_count($posts_count['published'])->withPosts_draft_count($posts_count['draft']); 
} 

Но я получаю ошибку «Undefined индекс: общее». Что мне нужно сделать, чтобы отдельно вернуть значения массива $ posts_count?

+0

попробовать это, чтобы увидеть, что он возвращается, пожалуйста, $ posts_count [] = somethingOrOther ($ ID); dd ($ posts_count); –

+0

я сделал. И он возвращает содержимое массива. – Domy

ответ

0

Я верю, что вы можете просто сделать

$posts_count= somethingOrOther($id); 

, а затем вернуть его как

return view ('display.profile',["posts_count" => $posts_count]); 

и лезвия получить его как

{{$posts_count["total"]}} 
+0

Он возвращает: Неопределенный индекс: всего на вид .. – Domy

+0

и что он возвращает, если вы делаете это в лезвии

+0

Это не null. array (1) {[0] => array (3) {["total"] => int (61) ["published"] => int (46) ["draft"] => int (0)}} -}}. Просто он говорит «Undefined index: total in the view» – Domy

0

Попробуйте с

$post_count = $this->somethingOrOther($id); 
if (!$post_count) { 
    return "no posts for this author"; 
} 
... 
return view('display.profile', compact('post_count')); 

Ввиду

{{ $post_count['total'] }} 
+0

У меня нет проблем с моим почтовым индексом. У меня проблема с передачей моего массива из контроллера для просмотра. – Domy

+0

Проверьте мое обновление. И вам нужно проверить, в помощнике, если '$ posts' не пуст. Всегда проверяйте значение null. – EddyTheDove

+0

Я проверил свои сообщения с dd, и мой массив $ posts_count не равен нулю. «Всего», «Опубликован», «Проект», все имеют правильный счет. Поэтому я попробовал ваш код, но он имеет ошибку в представлении «Undefined index: total». .. – Domy

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

  • Нет связанных вопросов^_^