我正在学习最近几天的laravel。似乎无法弄清楚如何在三元运算符内呈现动态锚标记。以下是我的代码段:
@foreach($task_list as $task)
<td>{!! $task->completed? 'Yes' : '<a href="/task/complete/$task->id" >Mark as complete</a>' !!}</td>
@endforeach
基本上我正在检查特定任务是否完整(通过$ task-&gt;完整模型属性)。如果是,则显示字符串“是”,否则呈现“标记为完成”的链接。此链接将使用户进入“/ task / complete / {id of the task}”路由,我将在此处进一步处理。
我是unalbe得到的任务的id是链接url的一部分(通过$ task-&gt; id属性)。非常感谢一些帮助和知识共享
答案 0 :(得分:2)
在Blade模板中使用PHP打印HTML不是一个好主意。我建议您使用简单易读的@if
解决方案而不是三元运算符:
<td>
@if ($task->completed)
Yes
@else
<a href="{{ url('task/complete/'.$task->id) }}">Mark as complete</a>
@endif
</td>
答案 1 :(得分:1)
@foreach($task_list as $task)
<td>{!! $task->completed? 'Yes' : '<a href="/task/complete/'.$task->id.'" >Mark as complete</a>' !!}</td>
@endforeach
答案 2 :(得分:1)
您可以尝试这样做,但是您需要使用外部包Try this
@foreach($task_list as $task)
<td>{!! $task->completed? 'Yes' : link_to('url', $title = null, $attributes = [], $secure = null);
!!}</td>
@endforeach