如何将Laravel中的短if语句转换为长语句?

时间:2016-07-30 20:36:08

标签: php laravel laravel-5 laravel-5.2

我有一个简短的if else声明,说我无法转换成完整的声明。

原因是我想在内部包含一些html而不仅仅是文本。

4

请注意我在刀片模板中执行此操作。

2 个答案:

答案 0 :(得分:2)

$likes = Auth::user()->likes()->where('status_id', $status->id)->first();

if ($likes && $likes->like == 1) {
    $text = 'You like this post';
}
else {
    $text = 'Like';
}

答案 1 :(得分:1)

它应该转换为:

if(Auth::user()->likes()->where('status_id', $status->id)->first()){
    if(Auth::user()->likes()->where('status_id', $status->id)->first()->like == 1){
        $var = 'You like this post';
    }else{
        $var = 'Like';
    }
}else{
    $var = 'Like';
}

添加了$var来保存价值,没有它,它没有多大意义。

另外,实际上,您可以通过and

组合if构造
if(Auth::user()->likes()->where('status_id', $status->id)->first() 
        && Auth::user()->likes()->where('status_id', $status->id)->first()->like == 1){
    $if = 'You like this post';
}else{
    $if = 'Like';
}