【问题标题】:Using Eloquent to retrieve the parent category name?使用 Eloquent 检索父类别名称?
【发布时间】:2020-06-19 20:26:13
【问题描述】:

我有一个简单的递归应用程序 hasMany 与无限子类别的关系 代码运行没有问题,但它没有检索父类别名称或标题。

当我尝试遍历来自数据库的数据时,它具有父 ID,但没有父类别名称 我需要获取父类别名称 这是控制器和模型的代码

CategoryController.php

<?php

namespace App\Http\Controllers;

use App\Category;
use Illuminate\Http\Request;

class CategoryController extends Controller
{

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
         $parentCategories = Category::where('parent_id',1)->get();
         return view('welcome', compact('parentCategories'));
    }
}
?>

Category.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $guarded = [];

    public function subcategory(){

        return $this->hasMany('App\Category', 'parent_id');

    }
}
?>

【问题讨论】:

  • 你需要为parent设置关系

标签: php laravel laravel-5 eloquent


【解决方案1】:

您应该在同一类别模型中创建另一个关系。

public function parent() {
    return $this->belongsTo('App\Category', 'parent_id');
}

检索父模型将是这样的:

$subcategory->parent->title;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多