2017-01-29 6 views
0

У меня есть пользователи и сообщения, и я хочу отображать их в шаблоне шахматной доски на веб-странице, например (где P is Post и U is User):Как получить шаблон шахматной доски, объединяющий два списка предметов

Р - У - Р - У

У - Р - У - Р

Р - У - Р - У

У - Р - У - Р

Какой элемент является Четвертый ряд будет повторяться как первый в следующем ряду.

Сначала я получу список всех сообщений и список всех пользователей. Затем я объединю их в более крупный список с применяемым заказом.

Я написал это в PHP, но мой текущий код только по очереди собираются Pupu так:

P - U - P - U

P - U - P - U

P - U - P - U

P - U - P - U

Вот мой код:

$posts = Post::all() 
    $users = User::all() 

    $tiles = collect(); 

    foreach ($posts as $post) { 
     $tiles->push($post); 
     if ($users) { 
      $tiles->push($users->pop()); 
     } 
    } 

Я ищу эффективный способ получить шаблон шахматной доски, я экспериментировал с использованием счетчика и добавлял два сообщения или пользователей сразу, когда счетчик% 4 == 0, но ничего не убедительно.

+0

Настоящий вопрос здесь должен состоять в том, будет ли в любом поле N'th сохранять порядок и извлекать эту конечную точку для функции. подумают об этом позже, сегодня на работе сейчас LOL – GabMic

ответ

0

Прошу прощения за то, что я не могу читать php ... но логично, что вам нужно нажать «пользователь» до «сообщения» на четных строках. Таким образом, псевдокод будет выглядеть примерно так:

if (lineno % 2 == 0) { 
    push user; push post;} 
else { 
    push post; push user;}