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

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

DDD
DDD原创
2025-01-16 20:05:09245浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn