1

最近几天我正在学习laravel。似乎无法弄清楚如何在三元运算符中呈现动态锚标记。下面是我的代码片段:

@foreach($task_list as $task)
  <td>{!!  $task->completed? 'Yes' : '<a href="/task/complete/$task->id" >Mark as complete</a>' !!}</td>
@endforeach

基本上我正在检查特定任务是否完成(通过 $task->complete 模型属性)。如果是,则显示字符串“是”,否则呈现一个显示“标记为完成”的链接。此链接会将用户带到一条路线“/task/complete/{id of the task}”,我将在其中进一步处理它。

我无法将任务的 id 获取为链接 url 的一部分(通过 $task->id 属性)。非常感谢一些帮助和知识分享

4

3 回答 3

3

在 Blade 模板中使用 PHP 打印 HTML 不是一个好主意。我建议您使用简单易读@if的解决方案而不是三元运算符:

<td>
    @if ($task->completed)
        Yes
    @else
        <a href="{{ url('task/complete/'.$task->id) }}">Mark as complete</a>
    @endif
</td>
于 2017-07-17T17:26:03.770 回答
1

你可以这样尝试,但是你需要使用外部包,试试这个

@foreach($task_list as $task)
  <td>{!!  $task->completed? 'Yes' : link_to('url', $title = null, $attributes = [], $secure = null);
 !!}</td>
@endforeach
于 2017-07-17T17:11:49.340 回答
1
@foreach($task_list as $task)
   <td>{!!  $task->completed? 'Yes' : '<a href="/task/complete/'.$task->id.'" >Mark as complete</a>' !!}</td>
@endforeach
于 2017-07-17T16:47:05.483 回答