首页 > 后端开发 > php教程 > Bangla 部分删除模型中的 Laravel Eloquent ORM)

Bangla 部分删除模型中的 Laravel Eloquent ORM)

DDD
发布: 2025-01-16 20:05:09
原创
245 人浏览过

Laravel Eloquent ORM in Bangla Part-Deleting Models)

下面详细介绍了使用 Laravel Eloquent ORM 从数据库中删除记录的不同方法。 它提供了简单有效的删除数据的方法。

1。删除单条记录:

delete() 方法使用:

可以使用

delete() 方法从数据库中删除特定记录。

<code class="language-php">use App\Models\Post;

// রেকর্ড খুঁজে বের করুন
$post = Post::find(1);

// রেকর্ড মুছে ফেলুন
$post->delete();</code>
登录后复制
登录后复制

记住:删除后,该记录将不再存在于数据库中。

2。删除多条记录:

方法与 wheredelete() 子句一起使用:

要删除多条记录,请使用带有 where 子句的 delete() 方法。

<code class="language-php">use App\Models\Post;

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();</code>
登录后复制
登录后复制

3。使用destroy()方法:

可以使用

destroy() 方法删除一条或多条记录。

<code class="language-php">use App\Models\Post;

// একক রেকর্ড মুছে ফেলুন
Post::destroy(1);

// একাধিক রেকর্ড মুছে ফেলুন
Post::destroy([2, 3, 4]);</code>
登录后复制
登录后复制

记住: destroy()方法直接使用主键删除记录。

4。使用模型事件:

模型事件 在删除 Eloquent 模型时触发。

  • 活动:删除记录前触发。deleting
  • 活动:删除记录后触发。deleted
<code class="language-php">class Post extends Model
{
    protected static function booted()
    {
        static::deleting(function ($post) {
            // মুছে ফেলার আগে করণীয় কাজ
            Log::info('Post is being deleted: ' . $post->id);
        });

        static::deleted(function ($post) {
            // মুছে ফেলার পর করণীয় কাজ
            Log::info('Post deleted: ' . $post->id);
        });
    }
}</code>
登录后复制
登录后复制

5。软删除:

什么是软删除?

软删除记录并不是通过在

列中附加时间戳来物理删除的。deleted_at

要使用软删除:

必须将

特征添加到 SoftDeletes 模型中。

<code class="language-php">use App\Models\Post;

// রেকর্ড খুঁজে বের করুন
$post = Post::find(1);

// রেকর্ড মুছে ফেলুন
$post->delete();</code>
登录后复制
登录后复制

软删除:

<code class="language-php">use App\Models\Post;

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();</code>
登录后复制
登录后复制

恢复软删除的记录:

<code class="language-php">use App\Models\Post;

// একক রেকর্ড মুছে ফেলুন
Post::destroy(1);

// একাধিক রেকর্ড মুছে ফেলুন
Post::destroy([2, 3, 4]);</code>
登录后复制
登录后复制

强制删除:

<code class="language-php">class Post extends Model
{
    protected static function booted()
    {
        static::deleting(function ($post) {
            // মুছে ফেলার আগে করণীয় কাজ
            Log::info('Post is being deleted: ' . $post->id);
        });

        static::deleted(function ($post) {
            // মুছে ফেলার পর করণীয় কাজ
            Log::info('Post deleted: ' . $post->id);
        });
    }
}</code>
登录后复制
登录后复制

查询软删除记录:

  • withTrashed():返回软删除和未删除的记录。
  • onlyTrashed():仅恢复软删除的记录。

6。直接从数据库删除:

可以使用 Laravel 的 DB 外观通过 SQL 查询直接删除记录。

<code class="language-php">use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}</code>
登录后复制

以上是Bangla 部分删除模型中的 Laravel Eloquent ORM)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板