在laravel 5.3刀片中渲染动态锚标签

时间:2017-07-17 16:41:09

标签: php laravel laravel-5.3 blade dynamic-html

我正在学习最近几天的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属性)。非常感谢一些帮助和知识共享

3 个答案:

答案 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