Как получить Laravel 5.7 для рендеринга в блейд-синтаксисе локализованных блейдов? - PullRequest
0 голосов
/ 12 октября 2018

Мой Seeder выглядит так:

    class ContentTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void

     */
    public function run()
    {
        DB::table('content')->insert(
            [
                [
                    'name'    => '<div class="row">
    <div class="col-xs-2 col-sm-2 col-md-4 col-lg-4"></div>
    <div class="col-xs-8 col-sm-8 col-md-4 col-lg-4">
        <form method="get" action="/group-register">
            {{ csrf_field() }}
            <div class="input-group">
                <input type="group_id" class="form-control" name="group_id" placeholder="{{ __(\'site.group_search\') }}">
                <span class="input-group-btn">
                    <button type="submit" class="btn btn-default">{{ __(\'site.group_search_button\') }}</button>
                </span>
            </div>
        </form>
        <hr>
        <p>
            <a href="/group-register">{{ __('site.group_register') }}</a>
        </p>
    </div>
    <div class="col-xs-2 col-sm-2 col-md-4 col-lg-4"></div>
</div>',
                    'title'      => 'home',
                    'created_at' => Carbon::now(),
                    'updated_at' => Carbon::now(),
                ]                ]
        );
    }
}

Тогда у меня есть маршрутизатор, который выглядит так:

Route::get('/{title}', 'ContentController@show');

Контроллер:

class ContentController extends Controller
{

    public function show($id)
    {
        $content = Content::where('title', '=', $id)->get();
        return view('content.show', compact('content'));
    }
}

Иthe show.blade.php:

@section('content')
    <div class="main-content">
        @foreach($content as $item)
            {!! $item['name'] !!}
        @endforeach
    </div>
@endsection

И вывод выглядит следующим образом: Вот так это выглядит

Но если я вызываю тот же код с семенами из основногоblade.php тогда выглядит правильно:

вот так это должно выглядеть

1 Ответ

0 голосов
/ 12 октября 2018

Замените это:

$content = Content::where('title', '=', $id)->get();

На это:

$content = Blade::compileString(Content::where('title', '=', $id)->get());

И не забудьте импортировать Blade фасад:

use Illuminate\Support\Facades\Blade;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...