如何检查laravel中的变量是否为空?

时间:2018-06-03 18:21:03

标签: php laravel if-statement laravel-5

我的视图文件中包含以下代码:

                        @if(!empty($slug))
                            dd(11);
                        <a href="{{$post->url}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>

                        @else
                        dd(22);
                        <a href="{{$post->slug}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>
                        @endif

我有一篇帖子在slug数据库表列中有数据。其他帖子没有。它们仅在url列中包含数据。但此刻,我看到每个帖子旁边的dd(22)。 slug列中包含数据的帖子在其URL结构中有slug。其他帖子没有任何网址。他们的网址是website.com/articles

有什么想法吗?

这是我的路线文件中的代码,顺便说一下:

 Route::get('articles/{url}', 'postsController@viewpost');

不确定如何编辑它以放置文章/ {slug}

帖子控制器:

 public function viewpost($url,$slug){
  if ( empty($slug) ) {
  $url ='articles/'.$url;
  }  else {
  $url = 'articles/'.$slug;

}

  $posts = posts::where('post_status', '')->get();
  if ( empty($slug) ) {
  $post = $posts->where('url', $url)->first();
  }  else {
  $post = $posts->where('slug', $slug)->first();
}

  if ( empty($post) )
return redirect()->back();


return view('viewpost')->with('post', $post)->with('posts', $posts);
}

最近的帖子代码:

<h3>Recent Posts</h3>
@foreach($posts as $post)
     <p><a href="{{ URL::to($post->url) }}"><img style="width:100px;" src="{{asset('thumbnails/'.$post->thumbnail)}}" class="responsive"></a><br>
         <a href="{{ URL::to($post->url) }}">{{substr(($post->title),0,88)}}..</a></p>               
@endforeach

2 个答案:

答案 0 :(得分:0)

代码中的这一行

Route::get('articles/{url}', 'postsController@viewpost');

只向控制器函数发送$ url,因此$ slug始终为空。 此外,您将$ post和$ posts变量发送到您的视图,因此$ slugs也始终为空。这就是为什么它总是在其他地方显示dd(22)

答案 1 :(得分:0)

我的另一个答案是为什么你总是看到dd(22)。 纠正问题:

public function viewpost($url){
  $posts = posts::where('post_status', '');
  $post = $posts->where('url', $url)->orWhere('slug' , $url)->first();
}

  if ( empty($post) )
return redirect()->back();


return view('viewpost')->with('post', $post)->with('posts', $posts->get());
} 

和你的刀片:

@if(!empty($post->slug))
                            dd(11);
                        <a href="{{'articles/'.$post->slug}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>

                        @else
                        dd(22);
                        <a href="{{'articles/'.$post->url}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>
                        @endif