확장 된 기사 목록 <🎜 🎜>
deleted_at
메소드에 배치해야합니다. blogplus/updates
create_posts_deleted_at_field.php
메소드를 사용하여 기존 열을 삭제할 수도 있습니다. 사용 가능한 열 옵션 목록은 문서를 확인하십시오. version.yaml
Event::listen('rainlab.blog.posts.published', function($post) { User::subscribedTo($post)->each(function($user) use($post) { Mail::send('emails.notifications.post-published', ['user' => $user, 'post' => $post], function($message) use($user, $post) { $message->from('us@example.com', 'New post by ' . $user->name); $message->to($user->email); }); }); });
php artisan create:plugin rafie.blogplus
rainlab_blog_posts
속성은 <🎜 🎜> 모델 인스턴스에 정의 된 쿼리 스코프 메소드의 이름이어야합니다. deleted_at
php artisan plugin:refresh rafie.blogplus
Magic
,
등에 대해 똑같이 할 수 있습니다. 기사 목록을 새로 고쳐서 변경 사항이 작동하는지 확인합시다.# updates/version.yaml 1.0.1: - First version of blogplus. - create_posts_deleted_at_field.php
Plugin@boot
물론
예, 기존 레코드와 함께 소프트 삭제 기능을 사용할 수 있습니다. 기존 데이터베이스 테이블에
위 내용은 Octobercms 확장 - 소프트 벨트 플러그인 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!scope
class Posts extends Controller
{
public function index_onPublish()
{
if (($checkedIds = post('checked')) && is_array($checkedIds) && count($checkedIds)) {
foreach ($checkedIds as $postId) {
if ((!$post = Post::find($postId)) || !$post->canEdit($this->user))
continue;
$post->publish();
Event::fire('rainlab.blog.posts.published', [$post]);
}
Flash::success('Successfully published those posts.');
}
return $this->listRefresh();
}
}
옥토버스를 확장하고 소프트 삭제 플러그인을 구축하는 것에 대한 FAQ deleting
deleted
타임 스탬프가 레코드에 맞게 설정됩니다. 이는 응용 프로그램의 관점에서 레코드가 "삭제 된"것으로 간주되지만 필요한 경우에도 검색 할 수 있음을 의미합니다. 이는 쉽게 복구 할 수 있으므로 실수로 데이터를 삭제할 수있는 시나리오에서 특히 유용합니다. deleting
Event::listen('rainlab.blog.posts.published', function($post) {
User::subscribedTo($post)->each(function($user) use($post) {
Mail::send('emails.notifications.post-published', ['user' => $user, 'post' => $post], function($message) use($user, $post) {
$message->from('us@example.com', 'New post by ' . $user->name);
$message->to($user->email);
});
});
});
Octobercms에서 Soft Delete 기능을 구현하려면 플러그인을 만들어야합니다. 여기에는 새 플러그인 작성, 데이터베이스 테이블에 열을 추가하고 특성을 사용하도록 모델을 업데이트하는 것이 포함됩니다. 그런 다음 모델의
값이 삭제되지 않았 음을 나타냅니다.
메소드를 사용할 수 있습니다. 이렇게하면 레코드에서 타임 스탬프가 제거되어 효과적으로 "실패"됩니다. 소프트 삭제 된 레코드를 복구하려면 모델에서
restore
deleted_at
메소드를 사용하여 소프트 삭제 된 레코드를 영구적으로 삭제할 수 있습니다. 이것은 하드 삭제와 같은 데이터베이스에서 레코드를 삭제합니다.
메소드를 사용할 수 있습니다. 이것은 소프트 삭제되었는지 여부에 관계없이 모든 레코드를 반환합니다. forceDelete
열의 이름을 사용자 정의 할 수 있습니까? 열의 이름을 사용자 정의 할 수 있습니다.
가 귀하의 요구에 적합하지 않은 경우 다른 열 이름을 사용할 수 있습니다. withTrashed