Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dữ liệu quyền truy vấn hùng hồn của Laravel

Nếu bạn muốn sử dụng tài hùng biện, trước tiên bạn phải xác định một mối quan hệ. Một thông báo thuộc về một chủ đề và một người dùng. Đây là cách xác định các mối quan hệ:Inside the Message model:

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

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

Để xác định nghịch đảo, bạn làm như sau:Mô hình người dùng bên trong:

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

Bên trong mô hình Chủ đề:

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

Bây giờ bạn có thể thực hiện những việc sau trong bộ điều khiển của mình:

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

Bây giờ bạn có tất cả các chủ đề của người dùng hiện đang đăng nhập. Tôi không chắc liệu mình có trả lời đúng câu hỏi hay không, vì vậy hãy hỏi ngay.

Chỉnh sửa:Bạn có thể kiểm tra như vậy:

$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. Tính toán số dư với mysql

  2. mysql_insert_id với bản cập nhật

  3. Cách truy vấn cột JSON trong MySQL

  4. C #, MySQL - lỗi nghiêm trọng gặp phải trong quá trình thực thi lệnh - Đã kiểm tra các giải pháp khác, điều gì đó tôi đang thiếu

  5. Cách tốt nhất để biết 3 hoặc nhiều bản ghi liên tiếp bị thiếu