Laravel выбирает 1 строку

#php #mysql #laravel #select #line

#php #mysql #laravel #выберите #строка

Вопрос:

В pma есть таблица «ogsett», в ней нужно выделить одну строку. В модели Ogsett указал, с какой таблицей работать. В контроллере (ServiceController) Я указал следующий код

 <?php

namespace AppHttpControllers;

use AppService;
use AppOgsett;
use IlluminateHttpRequest;

class ServiceController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $og = Ogsett::wherePages('service');
        return view('price.main', compact('og'));
    }

 

На странице я отображаю это так

 @foreach($og as $seo_item)
{{ $seo_item->title }}
@endforeach
 

В нем я ссылаюсь на эту таблицу и выбираю поле со значением title — service .
Но мои данные не отображаются на странице.

Сама база выглядит так

 =======================================================
|ID|PAGES| TITLE|DESCRIPTION|URL|IMAGES|LOCAL|SITE_NAME|
=======================================================
| 1|service|TitlePage|DescPage Service|service|images.jpg|en|localhost|
| 2|contact|ContactPage|DescPage Contact|conatact|images.jpg|en|localhost|

 

Где я ошибся?

Комментарии:

1. Использовать $og = Ogsett::wherePages('service')->firstOrFail();

Ответ №1:

Если вы хотите перебрать все заголовки, вам придется сделать это

  $og = Ogsett::wherePages('service')->get();
 

а затем в вашем блейде

 @foreach($og as $seo_item)
{{ $seo_item->title }}
@endforeach
 

В качестве альтернативы вы также можете использовать, если вам нужен только заголовок и не требуются другие столбцы базы данных

 $og = Ogsett::wherePages('service')->pluck('title');
 

а затем на блейде вы можете

  @foreach($og as $seo_item)
{{ $seo_item }}
@endforeach