下面详细介绍了使用 Laravel Eloquent ORM 从数据库中删除记录的不同方法。 它提供了简单有效的删除数据的方法。
1。删除单条记录:
delete()
方法使用:delete()
方法从数据库中删除特定记录。
<code class="language-php">use App\Models\Post; // রেকর্ড খুঁজে বের করুন $post = Post::find(1); // রেকর্ড মুছে ফেলুন $post->delete();</code>
记住:删除后,该记录将不再存在于数据库中。
2。删除多条记录:
将where
delete()
子句一起使用:要删除多条记录,请使用带有 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中文网其他相关文章!