根据外键Laravel从表中检索数据

时间:2019-04-18 09:15:16

标签: php laravel eloquent eloquent--relationship

因此,我有2个表,文章和子类别。它们通过雄辩的方式链接:文章具有许多sub_categories的,而sub_categories属于authorTo文章。它们与这样的外键链接:在“文章”的categorie_id中。

如何检索整个表数据文章,其中类别为“ 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子类别正在创建一个数组,例如mainslider,其中包含具有某个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'));
}

1 个答案:

答案 0 :(得分:0)

根据您发布的代码,它应该类似于

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

似乎在Soucategory上只会出现名称为“ DOG”的东西,因此您可以执行类似的操作

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