laravel извлекает несколько значений, разделенных запятыми в столбце, как отдельные значения

Привет у меня есть столбец в моей базе данных под названием client_website в моем client базы данных, а в некоторых случаях есть несколько ссылок на веб-сайты, они разделены запятыми, как показано ниже:

www.link1.com, www.link2.com, www.link3.com

Сначала я запрашиваю мой контроллер Projects

   @foreach ($clients as $client)
{{ $client->client_name }}
{{ $client->email }}
{{ $client->client_website }}
@endforeach

Это буквально распечатано как ниже:

www.link1.com, www.link2.com, www.link3.com

и когда я заверну его в <a> пометить это заполняет их href со всеми тремя ссылками, могу ли я в любом случае разделить запятые и разделить их на три отдельных объекта?

1

Решение

Вы должны были бы поместить туда второй foreach, который немного грязный, но он работает. Таким образом, вы бы поместили другой foreach, а затем на разорванную строку веб-сайтов, и это станет якорем для всех веб-сайтов.

Представьте себе, что это сайты клиентов:

www.link1.com, www.link2.com, www.link3.com

Ваш код будет выглядеть так:

@foreach ($clients as $client)
{{ $client->client_name }}
{{ $client->email }}
@foreach (explode(', ', $client->client_website) as $client_website)
{{ $client_website }}
@endforeach
@endforeach

Это вывело бы:

Имя клиентаКлиент электронной почтыwww.link1.comwww.link2.comwww.link3.com

Затем вы можете добавить все виды стилей вокруг него. Это будет работать для любого количества клиентов и любого количества сайтов. Просто обратите внимание, что список сайтов должен быть разделен запятыми с замыкающим пробелом.

2

Другие решения

Кроме того, я рекомендую вам определить сбруя в этом случае:

class Client extends Eloquent {

public function getClientWebsiteAttribute($value)
{
return explode(', ', $value);
}

}@foreach ($clients as $client)
{{ $client->client_name }}
{{ $client->email }}
@foreach ( $client->client_website as $client_website)
{{ $client_website }}
@endforeach
@endforeach
2

По вопросам рекламы [email protected]