循环遍历laravel中关系表的结果?

我确实对这段代码有问题,这是使用的模型


    <?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Navigation extends Model

{

    protected $table = "navigation" ;

    protected $primaryKey = "navi_id";


    public function PrimaryNavigation()

    {

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

    }

}

这就是查询的方式


        <?php


    namespace App\Http\Controllers;


    use App\Navigation;

    use App\PrimaryNavigation;

    use Illuminate\Http\Request;


    class NavigationController extends Controller

    {

        /**

         * Display a listing of the resource.

         *

         * @return \Illuminate\Http\Response

         */

        public function index()

        {

             $mainNavi = Navigation::with('PrimaryNavigation')->get() ;

             return view('dump')->with('data',$mainNavi);

        }

}

?>

每当我尝试打印来自此查询的结果时,它永远不会显示相关表的正确输出。当我打印输出时它显示正确的结果但是当我试图打印出相关的表数据时它只显示 NULL 值


@foreach($data as $single)

 {{dd($single)}}</br>

@endforeach

此代码显示正确的输出


{"navi_id":8,"navi_name":"fouad","navi_route":"\/fouad","navi_sort":0,"navi_created_at":"2019-09-23 02:21:24.000000","navi_last_update":"2019-09-23 02:21:29.000000","primary_navigation":[{"primary_navi_id":5,"navigation_navi_id":8,"primary_navi_name":"tamer","primary_navi_route":"\/tamer","primary_navi_created_at":"2019-09-23 02:28:38.000000","primary_navi_last_update":"2019-09-23 02:28:40.000000","primary_navi_sort":0},{"primary_navi_id":13,"navigation_navi_id":8,"primary_navi_name":"momo","primary_navi_route":"\/momo","primary_navi_created_at":"2019-09-23 14:44:13.000000","primary_navi_last_update":"2019-09-23 14:44:15.000000","primary_navi_sort":0}]}

但是当我试图只显示相关表时,它给出了 null


@foreach($data as $single)

 {{dd($single->primary_navigation)}}</br>

@endforeach


喵喵时光机
浏览 182回答 1
1回答

饮歌长啸

你必须是而不是primary_navigation 使用->PrimaryNavigation(在你的关系中定义)@foreach($data as $single)&nbsp;{{dd($single->PrimaryNavigation)}}</br>@endforeach或更改您的关系方法名称public function primary_navigations(){&nbsp; &nbsp; return $this->hasMany(PrimaryNavigation::class);}并使用@foreach($data as $single)&nbsp;{{dd($single->primary_navigations)}}</br>@endforeach
打开App,查看更多内容
随时随地看视频慕课网APP