Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет. Значит, делаю выводы постов/новостей в вид, при этом использую пагинацию. Суть в чём - как по нормальному проверять данные - есть ли они или нет, при том, что если использовать "paginate()", то проверки "@if(isset($posts) AND !empty($posts))" пофиг, есть ли данные или нет. А использую вместо "paginate()" -> "get()" - то проверка норм ведёт себя...
Как мне быть? Использовать пагинацию обязательно! Заранее спасибо!!!
Вот мой код (на всякий случай):
Модель:
public static function getIndexAll(){
/**
* Получение и вывод новостей для главной страницы
*/
$getIndexAll = DB::table('posts')
->orderBy('date_add_posts', 'DESC')
->join('category', 'posts.category_news', '=', 'category.id_category')
->where('index_news', '=', '1')
->paginate(Config::get('config.countGetPage'));
return $getIndexAll;
}
Вид:
@extends('templates.home')
@section('content')
@if(isset($posts) AND !empty($posts))
Посты есть!
@else
Постов нет!
@endif
@stop
Не в сети
Убери empty
Не в сети
Не в сети
Благодарю за помощь!
Не в сети
dima9595, Вам нужно где-то в отдельно блоке указать, есть ли posts? Или если есть, то вывести их, а если нет, то вывести "Постов нет"?
Если так, то в blade можно сделать так:
@forelse( $posts as $post )
{{-- Выводим тут данные, если есть --}}
@empty
<p>Постов нет!</p>
@endforelse
Не в сети
dima9595, Вам нужно где-то в отдельно блоке указать, есть ли posts? Или если есть, то вывести их, а если нет, то вывести "Постов нет"?
Если так, то в blade можно сделать так:@forelse( $posts as $post ) {{-- Выводим тут данные, если есть --}} @empty <p>Постов нет!</p> @endforelse
Благодарю за совет.
Я сделал так:
@if(isset($posts) AND !$posts->isEmpty())
@foreach($posts as $post)
Вывод постов
@endforeach
@else
Нет постов
@endif
Не в сети
Страницы 1