如何删除octobercms中的一条记录?

How to delete a record in octobercms?

我有点搞不懂它是怎么组合在一起的。我正在尝试从记录列表中删除一条记录,我目前有这个。


function onDelete()
{
$recordId = post('record')
$record = Advert::find($recordId); 
$record->delete();

}

在树枝上我有

 <tbody>
     {% for post in posts %}



      <td><a href="{{ 'product-single'|page({ slug: post.slug }) }}" name = "record">{{ post.title }}</a></td>


      <td><button class="btn btn-sm btn-danger" data-request ="onDelete" data-request-confirm="Are you sure" data-request-success="alert('Successfully Deleted')">Delete</button> </td>

    </tr>

    {% endfor %}

 </tbody>

我目前遇到这个错误

"Call to a member function delete() on null"

您没有在 AJAX 请求中将记录 ID 发送到服务器。

data-request-data="record: {{ post.id }}" 添加到触发 AJAX 请求的 button 以便 post('record') 实际上从 AJAX 请求中获取数据,它可以用来找到您要删除的记录。

查询时一定要使用字段名。 试试这个。

function onDelete()
{
$recordId = request('post')
Advert::where('slug',$recordId)->delete(); 
}

如果没有添加 die() 并使用 print_r 检查 Advert::where 是否正在返回任何对象。