首页 > 解决方案 > Laravel Eloquent - 主题文本从连接表返回

问题描述

当我 foreach all $datain my Blade like@foreach($data as $d)时,当我使用 从非表$d->text中返回“文本”时topics.textreplies.text

public function ShowReplies($userid)
    {
        $data = DB::table('replies')->join('topics', 'topics.id', '=', 'replies.topic')->where('topics.type', '=', 3)->where('replies.isPostDeleted', '=', 0)->where('replies.player', '=', $userid)->orderBy('replies.id', 'desc')->get();
        return view('replies')->with('data', $data);
    }

标签: laraveleloquent

解决方案


这是因为主题列“文本”覆盖了回复表列“文本

你应该使用选择列作为别名

$data = DB::table('replies')->join('topics', 'topics.id', '=', 'replies.topic')->where('topics.type', '=', 3)->where('replies.isPostDeleted', '=', 0)->where('replies.player', '=', $userid)->orderBy('replies.id', 'desc')->select('replies.text as reply_text')->get();

现在使用这个键('reply_text')来显示文本


推荐阅读