У меня следующая проблема. Я надеюсь, что мой подход не совсем неправильный, не стесняйтесь совет.
У меня есть модель класса Chat.php
protected $skip;
protected $take;
protected $agreements;
protected $chat;
public function getSkip()
{
return $this->skip;
}
public function setSkip($skip)
{
$this->skip = $skip;
}
public function getTake()
{
return $this->take;
}
public function setTake($take)
{
$this->take = $take;
}
public function __construct(array $attributes = array())
{
parent::__construct($attributes);
$this->setTake(8);
$this->setSkip(8);
}
Я устанавливаю свойства skip
и take
здесь.
Тогда у меня есть DashboardController
class DashboardController extends Controller
{
private $chat;
/**
* DashboardController constructor.
* @param $chat
*/
public function __construct(Chat $chat)
{
$this->chat = $chat;
}
/**
* Display a listing of the authenticated resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$chats = Chat::orderBy('created_at','desc')->skip($this->chat->getSkip())->take($this->chat->getTake())->get();
$agreements = AgrType::orderBy('created_at','desc')->take(10)->get();
return view('sections.dashboard', compact('chats','agreements'));
}
public function loadMore()
{
$this->chat->setSkip($this->chat->getSkip() - 1 );
$this->chat->setTake($this->chat->getTake() - 1);
return redirect('/dashboard');
}
Мой подход заключается в следующем:
После того, как пользователь нажимает на кнопку, маршрут /loadmore
доставляет его к этому контроллеру и запускает функцию loadMore
.
Функция
LoadMore
затем получает значения через методы доступа и устанавливает значения с помощью мутатора.
Метод индекса затем просто читает эти значения.
Таким образом, значение таково: я показываю окно чата (скорее всего, окно комментариев, потому что это действительно не чат), вызывается метод index.
Метод индекса считывает значения и отображает комментарии в соответствии с запросом. -> это нормально
Теперь, что НЕ работает:
Когда я нажимаю кнопку, вызывается функция loadMore, задающая значения, которые индексный метод затем считывает и перезагружает в соответствии с ними.
Что я попробовал: я попробовал метод loadMore, чтобы отобразить его собственные значения (измененные) и вернуть их, но затем у меня есть новый маршрут для перезагруженного чата, и это не то, что я хочу.
Что мне не хватает? Мой подход в порядке? (Я знаю, что javascript может быть лучше для этого, но я хочу использовать Laravel, получить и опубликовать.)
Заранее спасибо.