Задать вопрос
@VladimirKrasnov

Как получить полный адрес поста и добавить его в базу?

Мне нужно, что бы во время публикации поста, в базу, кроме стандартных данных(заголовок, сообщение и тд) прилетало бы еще и полный адрес этого поста. Проблема в том, что никак не могу получить id поста.

Ссылка на пост у меня такая 127.0.0.1:8000/id2/post/630, где id2 это id юзера, который пост замутил и 630 id самого поста.
$post = new Profile();
$post->title = $request->title;
$post->message = $request->message;
$post->fullAdress = 'http://127.0.0.1:8000/'.$post->user_id.'/post/630'.$post->id;
$post->save();

Можно ли как нибудь получить idшник поста, еще до того, ка пост был создан?
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
@kandrash
Кратко о себе
Вам это не нужно. Достаточно добавить accessor в модель.
/**
 * Полный адрес поста.
 *
 * @return string
 */
public function getFullAddressAttribute()
{
    return url("/{$this->user_id}/post/{$this->id}");
}

// Использование
$post->full_address;
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Нет, нельзя получить idшник поста, еще до того, ка пост был создан.

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

Непонятно только, почему в коде отсутствует сохранение ид юзера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы