我在刀片中设置变量$registered
和$paid
。这导致显示输出的值。如何隐藏输出?
刀片:
@foreach( $user->attendees as $attendee )
{{
$registered = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->registered: 0;
$paid = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->paid: 0;
}}
@endforeach
HTML
1 1 0 0 0 0 0
答案 0 :(得分:1)
Blade是一个模板引擎,因此它不希望你定义变量,它希望已经定义了这些变量。
{{ data }}
相当于Blade 4中的<?php echo data ?>
和Blade 5中的<?php echo htmlentities(data) ?>
。所以是的,这不会像预期的那样有效。
但是,您可以在Blade模板中使用标准PHP标记:
@foreach( $user->attendees as $attendee )
<?php
$registered = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->registered: 0;
$paid = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->paid: 0;
?>
@endforeach
答案 1 :(得分:0)
刀片花括号不用于执行任何旧的PHP - 它们旨在用于输出(即显示事物)。你必须在php标签中包含你的代码:
@foreach( $user->attendees as $attendee )
<?php
$registered = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->registered: 0;
$paid = ($attendee_registered = $program->attendees->find($attendee))? $attendee_registered->pivot->paid: 0;
?>
@endforeach
无论如何在控制器中执行逻辑而不是模板是一种好习惯,这样可以减少模型,视图和控制器之间的依赖关系。这使得视图可以重复使用,并使所有内容保持逻辑上分离,这样您就不必在想要调整内容时搜索HTML。