Size: a a a

2020 February 04

A

Arseni in Laravel Pro
затирается id
источник

S

Sergo in Laravel Pro
Arseni
Добрый вечер! подскажите пожалуйста, у меня есть модель Sessions, в ней я определяю отношение $this->hasMany('\Models\User', 'id', 'user'). Как мне вернуть теперь из таблицы Sessions последний кортеж где задан данный пользователь. То есть, в таблице Users есть поле telegram_id, мне нужно по нему сделать проверку, получить id юзера, и уже у этого айди получить последний Session
Что такое кортеж?
источник

A

Arseni in Laravel Pro
ну запись последнюю в таблице, ряд
источник

S

Sergo in Laravel Pro
Arseni
Добрый вечер! подскажите пожалуйста, у меня есть модель Sessions, в ней я определяю отношение $this->hasMany('\Models\User', 'id', 'user'). Как мне вернуть теперь из таблицы Sessions последний кортеж где задан данный пользователь. То есть, в таблице Users есть поле telegram_id, мне нужно по нему сделать проверку, получить id юзера, и уже у этого айди получить последний Session
Судя по тому что ты написал, у тебя юзер belongsTo one session, не?
источник

S

Sergo in Laravel Pro
Т.е. у юзера одна сессия
источник

A

Arseni in Laravel Pro
у User может быть много сессии, но действительна только последняя
источник

A

Arseni in Laravel Pro
я мог написать косячно, поэтому и нужна помощь, я делаю первые шаги в ларе
источник

A

Arseni in Laravel Pro
<?php

namespace Models;

use Illuminate\Database\Eloquent\Model;

class Session extends Model
{
   protected $casts = [
       'data' => 'array'
   ];

 protected $table = "sessions";
 protected $fillable = array("user", "data", "status");

 public function users()
 {
   return $this->hasMany('\Models\User', 'id', 'user');
 }
}
источник

MR

Michael Rain in Laravel Pro
Как я понял сессий много, но возвращать требуется последнюю.
источник

A

Arseni in Laravel Pro
смысл такой, сессии много, проверяется последняя сессия, если у неё status = finished или cancelled заводится новая, если нет, то продолжается текущая
источник

A

Arseni in Laravel Pro
поэтому берётся последняя
источник

ДХ

Джамиль Хаметов... in Laravel Pro
Получай не отношением
источник

ДХ

Джамиль Хаметов... in Laravel Pro
Просто запросом
источник

MR

Michael Rain in Laravel Pro
Да, можно сделать метод или геттер
источник

S

Sergo in Laravel Pro
Arseni
у User может быть много сессии, но действительна только последняя
Ну если у юзера много сессий и сессии много юзеров (не знаю зачем, но в твоем коде так), то это мену ту мени (belongsToMany в обеих моделях)
источник

A

Arseni in Laravel Pro
нет у юзера много сессии, но у сессии 1 юзер
источник

A

Arseni in Laravel Pro
запросом не хотелось бы, хочется понять как именно лучше всего это на ларе делать, но возможно придется если не пойму как иначе
источник

S

Sergo in Laravel Pro
Arseni
нет у юзера много сессии, но у сессии 1 юзер
Ну тогда в модели юзер hasMany sessions
В модели сессии belongsTo user
источник

A

Arseni in Laravel Pro
про belongsTo даже не слышал, попробую! всем спасибо больше)
источник

S

Sergo in Laravel Pro
@ontoho @perin  а че убрали ссылку на чат для новичков из описания?)
источник