i have a simple application for recursive hasMany relationship with unlimited subcategories the code is running without a problem but it’s not retrieving the parent category name or title.
when i tried to loop through the data coming from the DB it have the parent id but not the parent category name i need to get the parent category name here is the code for both controller and model
CategoryController.php
<?php
namespace AppHttpControllers;
use AppCategory;
use IlluminateHttpRequest;
class CategoryController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
         $parentCategories = Category::where('parent_id',1)->get();
         return view('welcome', compact('parentCategories'));
    }
}
?>
Category.php
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Category extends Model
{
    protected $guarded = [];
    public function subcategory(){
        return $this->hasMany('AppCategory', 'parent_id');
    }
}
?>
Advertisement
Answer
You should create another relation in same Category model.
public function parent() {
    return $this->belongsTo('AppCategory', 'parent_id');
}
And retrieving parent model will be like that:
$subcategory->parent->title;