首頁  >  文章  >  資料庫  >  如何在 Laravel 中連接三個表格以獲得類似 Twitter 的 Feed?

如何在 Laravel 中連接三個表格以獲得類似 Twitter 的 Feed?

DDD
DDD原創
2024-10-27 00:00:05754瀏覽

How to Join Three Tables in Laravel for a Twitter-like Feed?

Laravel 連接3 個表

要連接Laravel 中的三個表

$shares = DB::table('shares')
    ->join('users', 'users.id', '=', 'shares.user_id')
    ->join('followers', 'followers.user_id', '=', 'users.id')
    ->where('followers.follower_id', '=', 3)
    ->get();

要連接Laravel 中的三個表

要連接Laravel 中的三個表
// Define User Model
class User extends Model {
    public function shares() {
        return $this->hasMany('Share');
    }
    public function followers() {
        return $this->belongsToMany('User', 'follows', 'user_id', 'follower_id');
    }
    public function followees() {
        return $this->belongsToMany('User', 'follows', 'follower_id', 'user_id');
    }
}

// Define Share Model
class Share extends Model {
    public function user() {
        return $this->belongsTo('User');
    }
}

// Model Usage
$my = User::find('my_id');

$shares = Share::with('user')
    ->join('follows', 'follows.user_id', '=', 'shares.user_id')
    ->where('follows.follower_id', '=', $my->id)
    ->get('shares.*');

foreach ($shares as $share) {
    echo $share->user->username;
}

要連接Laravel 中的三個表格以獲得類似Twitter 的提要,連接查詢可以建立如下: 此查詢根據連接子句中指定的條件連結份額、使用者和追蹤者表。 另一種方法是使用模型而不是原始查詢來獲得更多資訊物件導向的方法。以下是使用模型的範例:透過使用此模型方法,您可以檢索登入使用者關注的使用者的所有共享,並立即載入建立共享的使用者。

以上是如何在 Laravel 中連接三個表格以獲得類似 Twitter 的 Feed?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn