第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Laravel ORM Eloquent 上轉(zhuǎn)換原始 sql 命令

如何在 Laravel ORM Eloquent 上轉(zhuǎn)換原始 sql 命令

PHP
紫衣仙女 2022-01-08 20:26:21
我有 4 個表,1-> 用戶,2-> 類別,3-> 評論,4-> 帖子我想獲取用戶已經(jīng)評論過的相關(guān)帖子的類別SELECT kategoris.* FROM kategoris INNER JOIN yazis on yazis.kategori_id = kategoris.id INNER JOIN yorums on yorums.yazi_id = yazis.idINNER JOIN users on users.id = yorums.user_idwhere users.id = 1
查看完整描述

1 回答

?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

根據(jù)模型的設(shè)置方式,這就是 Eloquent 的查詢方式


$category = Post::whereHas('comments', function($query) {

            $query->where('user_id', auth()->user()->id);

        })->first()->category;

更新:

這就是您的模型和表遷移的外觀

User有很多帖子和評論


public function posts()

{

    return $this->hasMany(Post::class);

}


public function comments()

{

    return $this->hasMany(Comment::class);

}

Category 有很多帖子


public function posts()

{

    return $this->hasMany(Post::class);

}

Post 屬于一個類別和一個用戶,有很多評論


public function category()

{

    return $this->belongsTo(Category::class);

}


public function comments()

{

    return $this->hasMany(Comment::class);

}


public function user()

{

    return $this->belongsTo(User::class);

}

Posts Table Migration


Schema::create('posts', function (Blueprint $table) {

    $table->bigIncrements('id');

    $table->unsignedBigInteger('user_id');

    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

    $table->unsignedBigInteger('category_id');

    $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');

    $table->timestamps();

});

Comment 屬于一個帖子和一個用戶


public function post()

{

    return $this->belongsTo(Post::class);

}


public function user()

{

    return $this->belongsTo(User::class);

}

Comments Table Migration


Schema::create('comments', function (Blueprint $table) {

    $table->bigIncrements('id');

    $table->unsignedBigInteger('user_id');

    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

    $table->unsignedBigInteger('post_id');

    $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');

    $table->timestamps();

});

讓我們填充一些這樣的數(shù)據(jù)......

Database Seeder


$user = factory(User::class)->create([]);

$category = Category::create([]);

$post = $user->posts()->create(['category_id' => $category->id]);

$post->comments()->create(['user_id' => $user->id]);

并通過上面的查詢獲取經(jīng)過身份驗證的用戶評論過的帖子的類別......

希望這會有所幫助:)


查看完整回答
反對 回復 2022-01-08
  • 1 回答
  • 0 關(guān)注
  • 229 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號