如何使控制器在单击时插入时间并在另一次单击时删除时间?

Posted

技术标签:

【中文标题】如何使控制器在单击时插入时间并在另一次单击时删除时间?【英文标题】:How to make controller to insert time on click and remove time on another click? 【发布时间】:2021-07-02 03:59:22 【问题描述】:

这是我的控制器,我想知道什么是正确的。

public function complete($id)

    $task = Task::find($id);
    if($task->done_at = '' or $task->done_at = null) 
        $task->done_at = date( 'Y-m-d H:i:s', strtotime( 'now' ) );

        $task->save();
     elseif ($task->done_at !== null) 
        $task->done_at = null;

        $task->save();
    

    return redirect()->route('tasks.index')->withSuccess('Done');

这是我的索引页面,其中有可供点击的表单

<form action=" route('tasks.complete', $task->id) " method="post">
                        @csrf
                        <button type="submit" name="submit"><p style="border-radius: 50%; color:red"></p></button>
                    </form>

【问题讨论】:

可能有错别字,$task-&gt;done_at = '' or $task-&gt;done_at = null 应该是$task-&gt;done_at == '' or $task-&gt;done_at == null,带有双= 符号 【参考方案1】:

您可以使用 empty() 函数进行检查。并且不要重复自己你也可以在 if else 条件之后使用保存功能。

谢谢:)

【讨论】:

以上是关于如何使控制器在单击时插入时间并在另一次单击时删除时间?的主要内容,如果未能解决你的问题,请参考以下文章