根据外键 Laravel 从 table 检索数据

retrieve data from table based on a foreignKey Laravel

所以我有 2 table 篇文章和 sub_categories。它们通过 Eloquent 链接:文章有很多 sub_categories,并且 sub_categories 属于文章。它们与外键链接如下:in "article" categorie_id.

如何检索整个 table 数据文章,例如类别为 "DOG" 很抱歉抽象,但这是我能解释它的最好方法吗? :D

文章模型

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Articles extends Model
{
    use SoftDeletes;

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

    public function sous_categories() {
        return $this->belongsTo('App\SouCategories') ;
    }
}

sub_categorie 型号

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;

class SouCategories extends Model
{
    public function categories() {
        return $this->belongsTo('App\Categories') ;
    }

    public function articles() {
        return $this->hasMany('App\Articles','cat_id') ;
    }
}

在我的控制器中,我试图根据 sub_category 和 foreach 子类别上的外键获取数据,我正在创建一个数组,例如包含具有特定 sub_category 的文章的主滑块

public function index()
{
    $infos = Infos::all();
    $categories = Categories::all();
    $articles=Articles::all();   
    $mainslider=Soucategories::with('articles')->get();
    foreach($mainslider as $record){
        dd($record->articles);
    }
    die();
    return view('frontEnd.homepage',compact('infos','categories','articles','mainslider'));
}

根据您发布的代码,它应该是这样的

Soucategories::where('title', 'DOG')->with('articles')->get();

似乎只有在名称为 "DOG" 的 Soucategory 上才会出现,因此您可以执行类似

的操作
Soucategories::where('title', 'DOG')->first()->articles