Как использовать первое слово пользовательских выходных данных в Laravel? - PullRequest
1 голос
/ 16 мая 2019

У меня есть приложение Vue, и я хочу использовать имя и тип пользователя с большой буквы.

Кроме того, я хотел бы изменить формат даты, например 5-May-2019.

Как мне это сделать?это в Ларавеле?Есть ли какая-нибудь функция?Это показывает дату в таким образом .

  <tr v-for="user in users" :key="user.id">
                <td>{{user.id}}</td>
                <td>{{user.name}}</td>
                <td>{{user.email}}</td>
                <td>{{user.type}}</td>
                <td>{{user.created_at}}</td>
  </tr>

Я хочу этот результат .

Ответы [ 5 ]

1 голос
/ 16 мая 2019

Поскольку Laravel написан на языке PHP, вы можете использовать функцию ucfirst(), чтобы использовать заглавные буквы первой буквы слова

.

Например:

$word = "john";
$new = ucfirst($word)
//outputs "John"

Но если вы хотите, чтобы все слова строки получили заглавные буквы, используйте функцию ucwords()

0 голосов
/ 18 мая 2019

Создать фильтр

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})

Использовать этот фильтр

<td>{{user.name | capitalize}}</td>

0 голосов
/ 16 мая 2019

Предполагая, что вы получаете своих пользователей из Eloquent в бэкэнде, вы можете использовать Collection#map для создания новой коллекции с заглавными буквами, именами и типами и с отформатированными датами.

  • Carbon::createFromFormat создает экземпляр Carbon из заданного формата и строки.
  • Carbon->format возвращает строку даты в указанном формате.
  • ucfirst() заглавная строка.

Within controller:

$users = $users->map(function($user) {
    $user->name = ucfirst($user->name);
    $user->type = ucfirst($user->type); // If "$user->type" returns a relationship between to table, you should adapt this line a bit.

    $user->created_at = \Carbon::createFromFormat('Y-m-d H:i:s')->format('j-M-Y');
});
0 голосов
/ 16 мая 2019

Пожалуйста, попробуйте функцию php, чтобы получить первый символ прописной буквы

{{ ucfirst(user.id) }}

, а для даты вы можете использовать следующее

{{ date('d-M-y', strtotime($user.created_at)) }}

Надеюсь, это поможет вам

0 голосов
/ 16 мая 2019

вы можете использовать Laravel ucfirst() в представлении (не очень круто)

или вы можете использовать фильтры Vue для обоих действий:

Фильтр слов Фильтры даты

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