{"id":4038,"date":"2017-11-13T14:54:50","date_gmt":"2017-11-13T17:54:50","guid":{"rendered":"http:\/\/blog.dialhost.com.br\/?p=4038"},"modified":"2019-09-30T17:29:46","modified_gmt":"2019-09-30T20:29:46","slug":"eloquent-simplificando-models-laravel","status":"publish","type":"post","link":"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/","title":{"rendered":"Models Laravel: Simplificando a busca de dados com Eloquent"},"content":{"rendered":"\n<p>Hoje retomamos a s\u00e9rie de Artigos sobre o Laravel&nbsp;trazendo o&nbsp;<em>Eloquent<\/em>, uma forma simples de trabalhar com consultas a bancos de dados e desenvolver suas Models.<\/p>\n\n\n\n<p>No \u00faltimo artigo, abordamos a cria\u00e7\u00e3o das&nbsp;<a rel=\"noopener noreferrer\" href=\"http:\/\/blog.dialhost.com.br\/desenvolvimento-2\/migrations-relacionando-tabelas-laravel\/\" target=\"_blank\"><em>migrations<\/em>&nbsp;e, como o Laravel pode relacionar as tabelas<\/a> para voc\u00ea. Lembra do exemplo da tabela de produtos que criamos? Ent\u00e3o, agora \u00e9 hora de come\u00e7ar a buscar estes dados para a aplica\u00e7\u00e3o. Para isto precisaremos criar <em>Eloquent&nbsp;Models<\/em>.<\/p>\n\n\n\n<div id=\"toc_container\" class=\"have_bullets\"><p class=\"toc_title\">T&oacute;picos<\/p><ul class=\"toc_list\"><li><a href=\"#models\">Models<\/a><\/li><li><a href=\"#eloquent-no-laravel\">Eloquent no Laravel<\/a><\/li><li><a href=\"#criando-as-models-laravel-com-eloquent\">Criando as Models Laravel com Eloquent<\/a><\/li><li><a href=\"#principais-funcoes-do-eloquent\">Principais Fun\u00e7\u00f5es do Eloquent<\/a><ul><li><a href=\"#consultas\">Consultas<\/a><\/li><li><a href=\"#inserindo-dados-com-eloquent\">Inserindo dados com Eloquent<\/a><\/li><li><a href=\"#nbsp\">&nbsp;<\/a><\/li><li><a href=\"#atualizando-dados-com-eloquent\">Atualizando dados com Eloquent<\/a><\/li><li><a href=\"#removendo-dados-com-eloquent\">Removendo dados com Eloquent<\/a><\/li><\/ul><\/li><li><a href=\"#conclusao\">Conclus\u00e3o<\/a><\/li><\/ul><\/div>\n<h2><span id=\"models\">Models<\/span><\/h2>\n\n\n\n<p>As&nbsp;<em>Models<\/em>, dentro da arquitetura MVC, s\u00e3o classes respons\u00e1veis pela leitura, escrita e valida\u00e7\u00e3o&nbsp; de qualquer dado. Por isto, ser\u00e1 aqui que iremos trabalhar com&nbsp;<em>Eloquent&nbsp;<\/em>para fazermos todo tipo de a\u00e7\u00f5es no nosso banco de dados. Mas, primeiro vamos entender o que \u00e9 o <em>Eloquent<\/em>.<\/p>\n\n\n\n<h2><span id=\"eloquent-no-laravel\"><em>Eloquent<\/em> no Laravel<\/span><\/h2>\n\n\n\n<p>O <strong><em>Eloquent<\/em> <\/strong>nada mais \u00e9 que um <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Mapeamento_objeto-relacional\" target=\"_blank\" rel=\"noopener noreferrer\">ORM <\/a>que vem em conjunto com o <strong>Laravel<\/strong>. Mas, melhor que isso, ele possui uma estrutura bem simples para voc\u00ea realizar a implementa\u00e7\u00e3o da sua l\u00f3gica de controle com banco de dados.<\/p>\n\n\n\n<p>Com base nos preceitos do <strong>ORM (Object relational mapping)&nbsp;<\/strong>o&nbsp;<em>Eloquent&nbsp;<\/em>abstrai toda a complexidade da intera\u00e7\u00e3o com os bancos de dados utilizando as Models para interagir com cada tabela.<\/p>\n\n\n\n<p>Para facilitar o trabalho com ele existem algumas conven\u00e7\u00f5es como:<\/p>\n\n\n\n<ul><li>Os nomes de tabelas s\u00e3o padronizadas para o plural da classe que ir\u00e1 consum\u00ed-la.<\/li><li>As <em>Primary keys&nbsp;<\/em>s\u00e3o sempre vinculadas \u00e0 uma coluna id.<\/li><li>Toda tabela possuir\u00e1 colunas <em>timestamp<\/em> mostrando a data de cria\u00e7\u00e3o (<em>created_at<\/em>) e data de atualiza\u00e7\u00e3o (<em>updated_at<\/em>).<\/li><li>Por padr\u00e3o, as Models do <em>Eloquent<\/em> ir\u00e3o buscar as configura\u00e7\u00f5es de conex\u00e3o com o banco de dados no arquivo padr\u00e3o do Laravel, &#8220;config\/database.php&#8221;.<\/li><\/ul>\n\n\n\n<p>Resumidamente, ele consegue trazer em uma ou duas linhas o que voc\u00ea gastaria muitas linhas de comando para executar.<\/p>\n\n\n\n<h2><span id=\"criando-as-models-laravel-com-eloquent\">Criando as Models Laravel com <em>Eloquent<\/em><\/span><\/h2>\n\n\n\n<p>Saindo um pouco da teoria, vamos voltar ao exemplo. Precisamos criar as Models que ir\u00e3o trabalhar com as tabelas &#8220;product_lines&#8221; e &#8220;products&#8221;. Para isto abrimos o terminal de <a rel=\"noopener noreferrer\" href=\"https:\/\/www.dialhost.com.br\/hospedagem-cloud\" target=\"_blank\">Hospedagem Cloud<\/a> da DialHost e digitamos o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">php artisan make:model product_line<br> php artisan make:model product<\/pre>\n\n\n\n<p>Ao executar estes comandos podemos observar que as novas classes foram criadas dentro da pasta app.<\/p>\n\n\n\n<p><strong>product_line.php<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> namespace App;<br> use Illuminate\\Database\\Eloquent\\Model;<br> class Product_line extends Model<br> {<br> \/\/<br> }<\/pre>\n\n\n\n<p>product.php<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> namespace App;<br> use Illuminate\\Database\\Eloquent\\Model;<br> class Product extends Model<br> {<br> \/\/<br> }<\/pre>\n\n\n\n<p>Para um sistema de consultas b\u00e1sico nem \u00e9 necess\u00e1rio implementar fun\u00e7\u00f5es dentro destas classes. Isto porque o pr\u00f3prio <strong>&#8220;Eloquent Model&#8221;<\/strong> j\u00e1 implementa diversas fun\u00e7\u00f5es de consultas e manipula\u00e7\u00e3o de dados com o banco. Com a classe referenciada chamamos apenas as fun\u00e7\u00f5es do <em>Eloquent<\/em> diretamente atrav\u00e9s da <strong><em>Controller<\/em><\/strong>.<\/p>\n\n\n\n<h2><span id=\"principais-funcoes-do-eloquent\">Principais Fun\u00e7\u00f5es do <em>Eloquent<\/em><\/span><\/h2>\n\n\n\n<h3><span id=\"consultas\">Consultas<\/span><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> Product::all();<br>\/\/ Retorna todos os registros da tabela Products (Seria o equivalente a<br>\/\/ SELECT * FROM products, para o MySQL)<br> Product::find($id);<br>\/\/ Retorna todos os dados do registro da tabela Products com o $id<br>\/\/ especificado na busca<br> Product::where('product_line_id',1)-&gt;get();<br>\/\/ Executa uma query com par\u00e2metros de restri\u00e7\u00e3o (WHERE)<br> Product::where('product_line_id',1)<br>-&gt;orderBy('product_line_id','description')<br>-&gt;take(10)<br>-&gt;get();<br>\/\/ Executa uma query com par\u00e2metros de restri\u00e7\u00e3o (WHERE e LIMIT)<br>\/\/ organizando pelas colunas especificadas <\/pre>\n\n\n\n<p>Para estas duas \u00faltimas fun\u00e7\u00f5es, aconselhamos que sejam criadas fun\u00e7\u00f5es dentro da <em>Model<\/em> que as executem. Assim, podemos abstrair a regra de consulta das <em>Controllers<\/em>. Esta forma \u00e9 uma boa pr\u00e1tica , principalmente se temos uma <em>query<\/em> complexa que exija muitos <em>wheres&nbsp;<\/em>e etc.<\/p>\n\n\n\n<p>Voc\u00ea ainda pode utilizar de fun\u00e7\u00f5es agregadoras como count, sum, avg, max, min.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> Product::where('product_line_id', 1)-&gt;count();<br> \/\/ Executa uma query que conta o n\u00famero de registro dentro dos<br> \/\/ par\u00e2metros de restri\u00e7\u00e3o (WHERE)<br> Product::where('product_line_id', 1)-&gt;sum('price');<br> \/\/ Executa uma query retornando a soma de todos os pre\u00e7os do resultado da busca<br> Product::where('product_line_id', 1)-&gt;avg('price');<br> \/\/ Executa uma query que retorna a m\u00e9dia de pre\u00e7os do resultado da busca<br> Product::where('product_line_id', 1)-&gt;max('price');<br> \/\/ Executa uma query que retorna o maior pre\u00e7o encontrado na busca<br> Product::where('product_line_id', 1)-&gt;count();<br> \/\/ Executa uma query que retorna o menor pre\u00e7o encontrado na busca<br> \/\/ par\u00e2metros de restri\u00e7\u00e3o (WHERE)<\/pre>\n\n\n\n<h3><span id=\"inserindo-dados-com-eloquent\">Inserindo dados com <em>Eloquent<\/em><\/span><\/h3>\n\n\n\n<p>Para inserir dados com o <em>Eloquent<\/em> existem 2 formas. Na primeira, voc\u00ea instancia a <em>Model<\/em>&nbsp;em uma vari\u00e1vel, dentro da <em>Controller<\/em>, seta os atributos e ent\u00e3o salva tudo no final.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> $product= new Product;<br> $product-&gt;product_line_id = $request-&gt;product_line_id ;<br> $product-&gt;description = $request-&gt;description;<br> $product-&gt;expiration_time= $request-&gt;expiration_time;<br> $product-&gt;price = $request-&gt;price;<br> $product-&gt;save();<\/pre>\n\n\n\n<p>A forma a seguir \u00e9 mais direta e limpa. Ela \u00e9 denomiada como <em>Mass Assignment.&nbsp;<\/em>Aqui, chamamos uma fun\u00e7\u00e3o est\u00e1tica que cria o registro passando os atributos como array<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> $data = <a href=\"\"> 'product_line_id' =&gt; request('product_line_id'), 'description' =&gt; request('description'), 'expiration_time' =&gt; request('expiration_time'), 'price' =&gt; request('price') <\/a>;<br> Product::create($data);<\/pre>\n\n\n\n<p>Para fazer a inser\u00e7\u00e3o desta segunda forma voc\u00ea precisa setar na sua <em>Model <\/em>os campos que ser\u00e3o permitidos serem setados. Por se tratar de uma inser\u00e7\u00e3o em massa o Laravel bloqueia todos os campos por padr\u00e3o. Isto \u00e9 para evitar que usu\u00e1rios consigam passar par\u00e2metros indesejados na <em>Request<\/em> e que eles acabem alterando um dado importante dentro do banco de dados.<\/p>\n\n\n\n<p>Ent\u00e3o criaremos na <em>Model Product&nbsp;<\/em>a variavel &#8220;fillable&#8221; e definiremos um array com os campos que ser\u00e3o inseridos aqui.<\/p>\n\n\n\n<h3><span id=\"nbsp\">&nbsp;<\/span><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">class Product extends Model{<br> protected $fillable = [<br> 'description',<br> 'expiration_time',<br> 'price',<br> 'product_line_id'<br> ];<br> \u2026<\/pre>\n\n\n\n<h3><span id=\"atualizando-dados-com-eloquent\">Atualizando dados com <em>Eloquent<\/em><\/span><\/h3>\n\n\n\n<p>A forma mais convencional de atualizar um dado atrav\u00e9s do <em>Eloquent&nbsp;<\/em>\u00e9 semelhante a inserir um dado. A diferen\u00e7a \u00e9 que j\u00e1 teremos a inst\u00e2ncia do produto especifico que iremos editar e ent\u00e3o salvar o novo valor.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> public function update(Product $product, Request $request){<br> $product-&gt;product_line_id = $request-&gt;product_line_id;<br> $product-&gt;description = $request-&gt;description;<br> $product-&gt;expiration_time = $request-&gt;expiration_time;<br> $product-&gt;price = $request-&gt;price;<br> $product-&gt;save();<\/pre>\n\n\n\n<h3><span id=\"removendo-dados-com-eloquent\">Removendo dados com <em>Eloquent<\/em><\/span><\/h3>\n\n\n\n<p>Remover um dado com <em>Eloquent<\/em> \u00e9 ainda mais f\u00e1cil. Basta setarmos na fun\u00e7\u00e3o o comando <strong>delete()&nbsp;<\/strong>na inst\u00e2ncia que estamos trabalhando.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;?php<br> public function delete(Product $product){<br> $product-&gt;delete();<\/pre>\n\n\n\n<h2><span id=\"conclusao\">Conclus\u00e3o<\/span><\/h2>\n\n\n\n<p>\u00c9 claro que na vida real ainda teremos que fazer valida\u00e7\u00f5es para deletar o registro apenas se ele realmente existir no banco. Ou durante uma edi\u00e7\u00e3o verificar se o dado j\u00e1 existe antes de atualiz\u00e1-lo e sen\u00e3o perguntar se o usu\u00e1rio deseja criar.<\/p>\n\n\n\n<p>Para evitar que este artigo fique extenso e cansativo, reunimos todas as publica\u00e7\u00f5es sobre <strong><a href=\"https:\/\/www.dialhost.com.br\/blog\/tecnologias\/desenvolvimento\/laravel\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Laravel (abre numa nova aba)\">Laravel<\/a><\/strong> em um s\u00f3 lugar. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Continuando a s\u00e9rie sobre o Laravel, falaremos do \u201cEloquent\u201d,\u00a0uma forma quase m\u00e1gica e simples de trabalhar com consultas a bancos de dados.<\/p>\n","protected":false},"author":1,"featured_media":8883,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[23,24,12],"tags":[76,138,140,167,271],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Models Laravel: Simplificando a busca de dados com Eloquent<\/title>\n<meta name=\"description\" content=\"Models Laravel: Saiba como o Eloquent trabalha de forma simples com consultas a bancos de dados e aprenda a desenvolver suas pr\u00f3rpias Models.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Models Laravel: Simplificando a busca de dados com Eloquent\" \/>\n<meta property=\"og:description\" content=\"Models Laravel: Saiba como o Eloquent trabalha de forma simples com consultas a bancos de dados e aprenda a desenvolver suas pr\u00f3rpias Models.\" \/>\n<meta property=\"og:url\" content=\"\/blog\/eloquent-simplificando-models-laravel\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog DialHost\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/DialHost\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/DialHost\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-13T17:54:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-30T20:29:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2019\/04\/og-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialhost\" \/>\n<meta name=\"twitter:site\" content=\"@dialhost\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\",\"name\":\"DialHost Internet\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/DialHost\",\"https:\/\/www.instagram.com\/dialhost_oficial\/\",\"https:\/\/www.linkedin.com\/company\/dialhost-internet\",\"https:\/\/www.youtube.com\/channel\/UCAiqiX8IiqTSfA8wQhpzgXQ\",\"https:\/\/twitter.com\/dialhost\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#logo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2019\/03\/marca-dialhost.png\",\"width\":81,\"height\":81,\"caption\":\"DialHost Internet\"},\"image\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/\",\"name\":\"Blog DialHost\",\"description\":\"Os melhores conte\\u00fados sobre Desenvolvimento Web, Marketing e Neg\\u00f3cios\",\"publisher\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.dialhost.com.br\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2017\/11\/eloquent-laravel-img.png\",\"width\":1400,\"height\":520,\"caption\":\"laravel\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#webpage\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/\",\"name\":\"Models Laravel: Simplificando a busca de dados com Eloquent\",\"isPartOf\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#primaryimage\"},\"datePublished\":\"2017-11-13T17:54:50+00:00\",\"dateModified\":\"2019-09-30T20:29:46+00:00\",\"description\":\"Models Laravel: Saiba como o Eloquent trabalha de forma simples com consultas a bancos de dados e aprenda a desenvolver suas pr\\u00f3rpias Models.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"\/blog\/\",\"url\":\"\/blog\/\",\"name\":\"In\\u00edcio\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"\/blog\/eloquent-simplificando-models-laravel\/\",\"url\":\"\/blog\/eloquent-simplificando-models-laravel\/\",\"name\":\"Models Laravel: Simplificando a busca de dados com Eloquent\"}}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#\/schema\/person\/a0b10cbe35449dea173a06d4664f9fcc\"},\"headline\":\"Models Laravel: Simplificando a busca de dados com Eloquent\",\"datePublished\":\"2017-11-13T17:54:50+00:00\",\"dateModified\":\"2019-09-30T20:29:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#webpage\"},\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#primaryimage\"},\"keywords\":\"desenvolvimento,laravel,laravel5.5,php,S\\u00e9rie Laravel\",\"articleSection\":\"Laravel,PHP,Tecnologias\",\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dialhost.com.br\/blog\/eloquent-simplificando-models-laravel\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#\/schema\/person\/a0b10cbe35449dea173a06d4664f9fcc\",\"name\":\"DialHost Internet\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/05feec2f99aef1c42b09aeaa637ee66f?s=96&r=g\",\"caption\":\"DialHost Internet\"},\"description\":\"H\\u00e1 mais de 18 anos proporcionando um servi\\u00e7o de hospedagem de sites voltado 100% na Experi\\u00eancia e Sucesso do Cliente, prezando a qualidade, transpar\\u00eancia e seguran\\u00e7a.\",\"sameAs\":[\"https:\/\/www.facebook.com\/DialHost\",\"https:\/\/www.instagram.com\/dialhost_oficial\/\",\"https:\/\/www.linkedin.com\/company\/dialhost-internet\",\"https:\/\/twitter.com\/dialhost\",\"https:\/\/www.youtube.com\/channel\/UCAiqiX8IiqTSfA8wQhpzgXQ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/4038"}],"collection":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4038"}],"version-history":[{"count":0,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/4038\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/media\/8883"}],"wp:attachment":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}