Mysql
 sql >> база данни >  >> RDS >> Mysql

Laravel eloquent прави данни за заявка

Ако искате да използвате eloquent, първо трябва да дефинирате връзка. Едно съобщение принадлежи на нишка и потребител. Ето как да дефинирате връзките:Вътре в модела на съобщението:

public function user()
{
   return $this->belongsTo('App/User'); //User model
}

public function thread()
{
  return $this->belongsTo('App/Thread'); //Thread model
}

За да дефинирате обратното, трябва да направите следното:Вътрешен потребителски модел:

public function threads()
{
  return $this->hasMany('App/Thread');
}

Вътре в модела Thread:

public function messages()
{
   return $this->hasMany('App/Message');
}

Сега можете да направите следното във вашия контролер:

$threads = Auth::user()->threads;

Сега имате всички теми от влезлия в момента потребител. Не съм сигурен дали разбрах правилно въпроса, така че питайте.

Редактиране:Можете да проверите така:

$thread = Thread::find($id);
$isCurrentUserThread = false;
foreach(Auth::user()->threads as $currentUserThread) {
   if($currentUserThread->id == $thread->id) {
       $isCurrentUserThread = true;
      //$thread belongs to the current user
   }
}

if($isCurrentUserThread) {
    //the thread belongs to the current user
} else {
   //it doesn't belong to the current user
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Неправилни двойни стойности, върнати от mysql към java

  2. MySQL:как да премахнете множество таблици с помощта на една заявка?

  3. Каква е постоянството на препратките и присъединяванията в MySQL?

  4. Определете логиката за MySQL Select - Резервационна система

  5. Повторното свързване на MySQL сървър е изчезнало