Пишу диалоги, такая проблемка:
Есть функция скрытия диалога, которая меняет значение в бд у столбца hide на 1(скрытый), и собственно не отображается.
Если юзер(с кем скрыли, а не который скрыл ) напишет тому, кто скрыл - диалог появится.
У меня тут загвостка, у меня есть 2 таблицы:
messages (Тут хранятся все диалоги) и users_in_dialogs (id, user_id, dialog_id и собственно hide)
Я делаю запрос к таблице messages, проверяю айди диалогов(типа "dialog_id =". $dialog_id (у меня немного по другому, чисто суть) и делаю выборку из таблицы readed(0 - не прочитано, 1 - прочитано)
Потом пишу проверку: if ($переменная в которой значение readed хранится == 0) {
тут я вызываю функцию диалогов(чтобы вывелись) и делаю update значения Hide
}
Только ничерта не пашет
Кусочек функции hideDialog, ниже идут маленькие формальности + catch
PHP:
скопировать код в буфер обмена
$data = Input::all(); //need dialog_id try { DB::connection()->getPdo()->beginTransaction(); DB::table('users_in_dialogs') ->where('dialog_id', '=', $data['dialog_id']) ->where('user_id', '=', $this->user->id) ->update([ 'hide' => 1 ]);
А вот кусочек кода функции showDialog()
ниже маленькие формальности
PHP:
скопировать код в буфер обмена
$data = Input::all(); $dialogreaded = DB::table('messages') ->where('dialog_id = '.$data['dialog_id']) ->select('readed'); if ($dialogreaded == 0){ return getDialogs(); // Функция, которая выводит диалоги на страницу DB::table('users_in_dialogs') ->update(['hide' => 0]);
P.S: все работает на angulare и все остальное работает офкс, только проблемы с этим(
Функцию скрытия передаю в ангулар конечно, так как по клике скрывается
|