Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Здравствуйте!
Я новичок и не могу понять как мне вывести комментарии, но только 10 знаков (букв). Из базы данных у меня они выводятся вот так:
<span class="colortext2"><?= $o->comment; ?></span>
но показываются все предложения и порой бывает целый текст, а требуется показать только 10 букв и троеточие. (далее пользователь переходит по комментарию и читает все- это реализовано.) Помогите пожалуйста обрезать до 10 букв.
Не в сети
Создайте в модели метод:
public function getShortCommentAttribute()
{
return mb_substr($this->comment, 0, 10);
}
И выводите в view так:
<span class="colortext2"><?= $o->short_comment ?>...</span>
Не в сети
Если я правильно понял, то:
public function getShortCommentAttribute()
{
return mb_substr($this->comment, 0, 10);
}
это в контроллер?
Но тогда при переходе на комметарий он тоже отображается только на 10 знаков.
Не в сети
Нет. Этот accessor для получения укороченного текста комментария, находится в модели содержащей комментарий.
Не в сети
Да я уже поняла что не права. Вот только у меня тут такой кавардак, уже минут 15 ищу. Вы не могли бы пожалуйста хотя бы путь или примерный путь к accessor? Пожалуйста.
Не в сети
Ура! Нашла, нашла, нашла. Спасибо! Спасибо! Спасибо!
Не в сети
BaldaI. Подскажите а как тогда :
<?= $o->area->name; ?>
вывести только три знака (буквы).
В view я поняла что прописать нужно <?= $o->area->short_name; ?>
а вот какой метод прописать в модели?
Помогите пожалуйста, будьте добры, всего неделю только разбираюсь.
Не в сети
В модели, экземпляр которой находится в $o->area, добавить accessor:
public function getShortNameAttribute()
{
return str_limit($this->name, 3);
}
Если требуется часто укорачивать различные свойства модели, можно не создавать множество accessor-методов, а просто в view обрезать строку до нужной длины:
<?= str_limit($o->area->name, 3) ?>
И еще, в этом случае, лучше использовать str_limit() вместо mb_substr().
Изменено BaldaI (05.01.2015 11:34:58)
Не в сети
Спасибо большое! Очень вам благодарна.
Не в сети