Показать результаты из массива БД в виде laravel - PullRequest
0 голосов
/ 12 ноября 2018

У меня проблемы с отображением данных в виде из массивов в моей БД, я пробовал несколько методов, но безрезультатно. Мне нужно отобразить все результаты в представлении из обоих массивов в БД (Name and Url) - я пробовал циклы, хотя я не могу правильно ориентировать данные. Я также не знаю, где я иду не так в моем коде. Я новичок в Laravel.

Любая помощь будет оценена.

Экземпляр БД:

local.INFO: array (
  '_token' => 'kwsRPOc9YH4pjvmAVsibJULiMUItzZu2BEWimJy6',
  'name' => 
  array (
    0 => 'linkOne',
    1 => 'linkTwo',
  ),
  'url' => 
  array (
    0 => 'urlOne',
    1 => 'urlTwo',
  ),
)

Контроллер:

public function addMorePost(TagList $tagslist, Request $request)
{

  Log::info($request);

  foreach($request as $key => $value) {

    TagList::create([
      'name[]'=>[$value],
      'url[]'=>[$value]
    ]);
  }

  $tagslist = \App\Taglist::all();
  return view('addMore', ['tagslist' => $tagslist]);

}

Вид:

@foreach ($tagslist as $tag)

  <div>
    <p class="name">{{ $tag->name }}</p>
    <p class="url">{{ $tag->url }}</p>
  </div>

  @endforeach

1 Ответ

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

Поскольку ваш вопрос помечен как laravel, вы можете использовать коллекцию с комбайном. https://laravel.com/docs/5.7/collections#method-combine

collect($name)->combine($url);

приведет к

linkOne => urlOne,
linkTwo => urlTwo,

, если вы захотите, вы можете сделать еще один шаг вперед(Я не вижу необходимости), чтобы достичь именно того, что, на ваш взгляд, сейчас.

$tags = collect($name)->combine($url)->map(function ($item, $key) {
    $tag = new \stdClass();
    $tag->{'name'} = $key;
    $tag->{'url'} = $item;
    return $tag;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...