{"id":276,"date":"2025-08-27T18:45:04","date_gmt":"2025-08-27T18:45:04","guid":{"rendered":"https:\/\/1v0.net\/blog\/?p=276"},"modified":"2025-08-27T18:45:06","modified_gmt":"2025-08-27T18:45:06","slug":"how-to-use-laravel-query-scopes-for-cleaner-code","status":"publish","type":"post","link":"https:\/\/1v0.net\/blog\/how-to-use-laravel-query-scopes-for-cleaner-code\/","title":{"rendered":"How to Use Laravel Query Scopes for Cleaner Code"},"content":{"rendered":"\n<p>As your application grows, your database queries can quickly become repetitive and messy. You may find yourself writing the same conditions across multiple controllers, such as filtering active users, published posts, or verified accounts. This is where <strong>Laravel 12 Query Scopes<\/strong> come in. They allow you to encapsulate common query logic directly inside your Eloquent models, keeping your code clean, reusable, and easier to maintain.<\/p>\n\n\n\n<p>In this tutorial, we\u2019ll walk through <strong>creating and using query scopes in Laravel 12<\/strong>. We\u2019ll cover what they are, how to build local and global scopes, and how to integrate them into your models, controllers, and even your UI for filtering data. By the end, you\u2019ll have a clear understanding of how to simplify your queries and keep your codebase organized.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1 &#8211; What Are Query Scopes in Laravel?<\/strong><\/h2>\n\n\n\n<p>A <strong>query scope<\/strong> in Laravel is a way to define reusable query constraints inside your Eloquent models. Instead of repeating the same <code>where<\/code> conditions across your controllers and repositories, you can wrap them into a scope method and call it like a regular query method. This keeps your code cleaner and more maintainable.<\/p>\n\n\n\n<p>Laravel offers two types of scopes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local scopes:<\/strong> Defined inside models, reusable across queries with a short method call.<\/li>\n<li><strong>Global scopes:<\/strong> Applied automatically to all queries for a model (e.g., only load active users).<\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2 &#8211; Creating a Local Scope<\/strong><\/h2>\n\n\n\n<p>Local scopes are useful when you need to apply a common filter repeatedly. For example, if you want to fetch only <code>active<\/code> users from your <code>users<\/code> table, you can define a scope directly in the model:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ app\/Models\/User.php<\/span>\n\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>;\n\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Foundation<\/span>\\<span class=\"hljs-title\">Auth<\/span>\\<span class=\"hljs-title\">User<\/span> <span class=\"hljs-title\">as<\/span> <span class=\"hljs-title\">Authenticatable<\/span>;\n\n<span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">User<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title\">Authenticatable<\/span>\n<\/span>{\n    <span class=\"hljs-comment\">\/\/ Local scope method<\/span>\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">scopeActive<\/span><span class=\"hljs-params\">($query)<\/span>\n    <\/span>{\n        <span class=\"hljs-keyword\">return<\/span> $query-&gt;where(<span class=\"hljs-string\">'is_active'<\/span>, <span class=\"hljs-keyword\">true<\/span>);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The <code>scopeActive<\/code> method defines a filter where <code>is_active<\/code> is true. By convention, Laravel removes the \u201cscope\u201d prefix, so you can call it simply as <code>User::active()<\/code>.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Using the scope in a controller<\/span>\n$activeUsers = User::active()-&gt;get();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Instead of writing <code>User::where('is_active', true)-&gt;get()<\/code> everywhere, you now have a clean reusable method.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3 &#8211; Parameterized Scopes<\/strong><\/h2>\n\n\n\n<p>Scopes can also accept parameters, making them flexible for filtering dynamic data. For example, filtering posts by status:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ app\/Models\/Post.php<\/span>\n\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>;\n\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Database<\/span>\\<span class=\"hljs-title\">Eloquent<\/span>\\<span class=\"hljs-title\">Model<\/span>;\n\n<span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Post<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title\">Model<\/span>\n<\/span>{\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">scopeStatus<\/span><span class=\"hljs-params\">($query, $status)<\/span>\n    <\/span>{\n        <span class=\"hljs-keyword\">return<\/span> $query-&gt;where(<span class=\"hljs-string\">'status'<\/span>, $status);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now you can query posts by any status in a clean way:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Fetch only published posts<\/span>\n$published = Post::status(<span class=\"hljs-string\">'published'<\/span>)-&gt;get();\n\n<span class=\"hljs-comment\">\/\/ Fetch only drafts<\/span>\n$drafts = Post::status(<span class=\"hljs-string\">'draft'<\/span>)-&gt;get();<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>By using parameterized scopes, you keep your queries consistent and avoid typos in column names across controllers.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4 &#8211; Global Scopes<\/strong><\/h2>\n\n\n\n<p>Unlike local scopes, <strong>global scopes<\/strong> are automatically applied to all queries on a model. They\u2019re perfect for multi-tenant apps or cases where you always want to hide certain records.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ app\/Models\/Scopes\/ActiveScope.php<\/span>\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>\\<span class=\"hljs-title\">Scopes<\/span>;\n\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Database<\/span>\\<span class=\"hljs-title\">Eloquent<\/span>\\<span class=\"hljs-title\">Builder<\/span>;\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Database<\/span>\\<span class=\"hljs-title\">Eloquent<\/span>\\<span class=\"hljs-title\">Model<\/span>;\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Database<\/span>\\<span class=\"hljs-title\">Eloquent<\/span>\\<span class=\"hljs-title\">Scope<\/span>;\n\n<span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">ActiveScope<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title\">Scope<\/span>\n<\/span>{\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">apply<\/span><span class=\"hljs-params\">(Builder $builder, Model $model)<\/span>\n    <\/span>{\n        $builder-&gt;where(<span class=\"hljs-string\">'is_active'<\/span>, <span class=\"hljs-keyword\">true<\/span>);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This scope forces all queries to include <code>where is_active = true<\/code> automatically.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ app\/Models\/User.php<\/span>\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>;\n\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Illuminate<\/span>\\<span class=\"hljs-title\">Foundation<\/span>\\<span class=\"hljs-title\">Auth<\/span>\\<span class=\"hljs-title\">User<\/span> <span class=\"hljs-title\">as<\/span> <span class=\"hljs-title\">Authenticatable<\/span>;\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>\\<span class=\"hljs-title\">Scopes<\/span>\\<span class=\"hljs-title\">ActiveScope<\/span>;\n\n<span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">User<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title\">Authenticatable<\/span>\n<\/span>{\n    <span class=\"hljs-keyword\">protected<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">booted<\/span><span class=\"hljs-params\">()<\/span>\n    <\/span>{\n        <span class=\"hljs-keyword\">static<\/span>::addGlobalScope(<span class=\"hljs-keyword\">new<\/span> ActiveScope);\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now whenever you query <code>User::all()<\/code>, only active users are returned. If you need to ignore the global scope, use <code>User::withoutGlobalScope(ActiveScope::class)-&gt;get()<\/code>.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5 &#8211; Using Scopes in the UI<\/strong><\/h2>\n\n\n\n<p>Suppose you want to show users a filtered list of published posts on the dashboard. You can use your scope inside a controller and then display the results in a Blade view.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ app\/Http\/Controllers\/PostController.php<\/span>\n<span class=\"hljs-keyword\">namespace<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Http<\/span>\\<span class=\"hljs-title\">Controllers<\/span>;\n\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">App<\/span>\\<span class=\"hljs-title\">Models<\/span>\\<span class=\"hljs-title\">Post<\/span>;\n\n<span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">PostController<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title\">Controller<\/span>\n<\/span>{\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">index<\/span><span class=\"hljs-params\">()<\/span>\n    <\/span>{\n        $posts = Post::status(<span class=\"hljs-string\">'published'<\/span>)-&gt;latest()-&gt;paginate(<span class=\"hljs-number\">10<\/span>);\n        <span class=\"hljs-keyword\">return<\/span> view(<span class=\"hljs-string\">'posts.index'<\/span>, compact(<span class=\"hljs-string\">'posts'<\/span>));\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This controller uses the <code>status<\/code> scope we defined to only fetch published posts. It also uses <code>paginate(10)<\/code> so we can show 10 posts per page.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">&lt;!-- resources\/views\/posts\/index.blade.php --&gt;\n@extends(<span class=\"hljs-string\">'layouts.app'<\/span>)\n\n@section(<span class=\"hljs-string\">'content'<\/span>)\n&lt;div <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span>=\"<span class=\"hljs-title\">container<\/span>\"&gt;\n  &lt;<span class=\"hljs-title\">h1<\/span> <span class=\"hljs-title\">class<\/span>=\"<span class=\"hljs-title\">mb<\/span>-4\"&gt;<span class=\"hljs-title\">Published<\/span> <span class=\"hljs-title\">Posts<\/span>&lt;\/<span class=\"hljs-title\">h1<\/span>&gt;\n\n  @<span class=\"hljs-title\">foreach<\/span>($<span class=\"hljs-title\">posts<\/span> <span class=\"hljs-title\">as<\/span> $<span class=\"hljs-title\">post<\/span>)\n    &lt;<span class=\"hljs-title\">div<\/span> <span class=\"hljs-title\">class<\/span>=\"<span class=\"hljs-title\">card<\/span> <span class=\"hljs-title\">mb<\/span>-3\"&gt;\n      &lt;<span class=\"hljs-title\">div<\/span> <span class=\"hljs-title\">class<\/span>=\"<span class=\"hljs-title\">card<\/span>-<span class=\"hljs-title\">body<\/span>\"&gt;\n        &lt;<span class=\"hljs-title\">h5<\/span> <span class=\"hljs-title\">class<\/span>=\"<span class=\"hljs-title\">card<\/span>-<span class=\"hljs-title\">title<\/span>\"&gt;<\/span>{{ $post-&gt;title }}&lt;\/h5&gt;\n        &lt;p <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span>=\"<span class=\"hljs-title\">card<\/span>-<span class=\"hljs-title\">text<\/span>\"&gt;<\/span>{{ Str::limit($post-&gt;content, <span class=\"hljs-number\">120<\/span>) }}&lt;\/p&gt;\n        &lt;a href=<span class=\"hljs-string\">\"{{ route('posts.show', $post) }}\"<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span>=\"<span class=\"hljs-title\">btn<\/span> <span class=\"hljs-title\">btn<\/span>-<span class=\"hljs-title\">theme<\/span> <span class=\"hljs-title\">r<\/span>-04\"&gt;\n          &lt;<span class=\"hljs-title\">i<\/span> <span class=\"hljs-title\">class<\/span>=\"<span class=\"hljs-title\">bi<\/span> <span class=\"hljs-title\">bi<\/span>-<span class=\"hljs-title\">eye<\/span>\"&gt;&lt;\/<span class=\"hljs-title\">i<\/span>&gt; <span class=\"hljs-title\">View<\/span> <span class=\"hljs-title\">Post<\/span>\n        &lt;\/<span class=\"hljs-title\">a<\/span>&gt;\n      &lt;\/<span class=\"hljs-title\">div<\/span>&gt;\n    &lt;\/<span class=\"hljs-title\">div<\/span>&gt;\n  @<span class=\"hljs-title\">endforeach<\/span>\n\n  <\/span>{{ $posts-&gt;links() }}\n&lt;\/div&gt;\n@endsection<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This Blade file lists published posts using the <code>@foreach<\/code> loop. The scope keeps the controller clean, while the view focuses only on presentation.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p><strong>Laravel Eloquent Query Scopes<\/strong> are a powerful way to organize and reuse your query logic. Instead of repeating conditions in multiple controllers, you can move them into your models as local or global scopes. Local scopes keep queries cleaner and easier to read, while global scopes automatically apply rules like filtering active users or excluding soft-deleted records. Adding scopes to your projects not only improves performance but also makes your codebase more maintainable and easier to extend.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s Next<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/blog\/filtering-and-searching-with-laravel-eloquent-query-builder\">Filtering and Searching with Laravel Eloquent Query Builder<\/a><\/li>\n<li><a href=\"\/blog\/soft-deletes-in-laravel-restore-force-delete-and-prune-data\">Soft Deletes in Laravel: Restore, Force Delete, and Prune Data<\/a><\/li>\n<li><a href=\"\/blog\/how-to-use-eloquent-api-resources-for-clean-apis\">How to Use Eloquent API Resources for Clean APIs<\/a><\/li>\n<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>As your application grows, your database queries can quickly become repetitive and messy. You may find yourself writing the same conditions across multiple controllers, such as filtering active users, published posts, or verified accounts. This is where Laravel 12 Query Scopes come in. They allow you to encapsulate common query logic directly inside your Eloquent [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[38,36,39],"class_list":["post-276","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-database","tag-eloquent","tag-query"],"_links":{"self":[{"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":1,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":279,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/posts\/276\/revisions\/279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/media\/280"}],"wp:attachment":[{"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1v0.net\/blog\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}