Php 如何检查laravel中的变量是否为空?
我的视图文件中有以下代码:Php 如何检查laravel中的变量是否为空?,php,laravel,if-statement,laravel-5,Php,Laravel,If Statement,Laravel 5,我的视图文件中有以下代码: @if(!empty($slug)) dd(11); <a href="{{$post->url}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a> @els
@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
不确定如何编辑它以放置articles/{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
最近的帖子
@foreach($posts作为$post)
@endforeach
代码中的这一行
Route::get('articles/{url}', 'postsController@viewpost');
仅向控制器函数发送$url,因此$slug始终为空。
此外,您正在向视图发送$post和$post变量,因此$slugs在视图中也始终为空。这就是为什么它总是在else中显示dd(22)我的另一个答案是为什么你总是看到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
@if(!empty($post->slug))
dd(11);
@否则
dd(22);
@恩迪夫
显示您的postsController以及Post Update@Masoudhaghbin您能给我一个slug和url内容的示例吗?唯一的区别是slug更短。只有一篇文章的slug列中有数据,因为url太长了。我希望它有一个简短的url,所以我为它创建了一个slug。例如…url:香蕉产于亚洲。鼻涕虫:我的路线档案里已经有了。。。此外,文章中不使用slug的URL也没有正确显示。它们显示为website.com/articles,而不显示URL的其余部分。您正在反向打印!当slug为空时,您再次打印slug而不是urlok,现在它们都显示dd(11),除了带有slug的post没有正确显示其slug数据。所有其他帖子都显示了正确的URL。另外,当我点击帖子时,我在if-else代码中的控制器文件中得到一个缺少参数2的错误。我在你的代码中没有看到任何foreach,你能告诉我你是如何修改刀片的吗!?我不生气:)),我发布了另一个答案,我认为这将修复控制器文件中的所有问题错误:方法或不存在的位置。我更改了它:)2个问题:1)我的视图文件中的最近发布功能不再显示发布(将发布代码)。2) 没有子弹的柱子不起作用。当我点击帖子时,它会重定向到/articles。
@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