【问题标题】:Returning name along with foreign key ID in Laravel在 Laravel 中返​​回名称和外键 ID
【发布时间】:2018-02-18 01:15:35
【问题描述】:

此 API 路由工作正常并返回 JSON 响应,目前它返回 category_id 作为外键,我还想在我的 JSON 响应中从表 'category' 中获取列 'name',怎么做?帮助将不胜感激。

Route::get('/quizzes', function() {

$quizzes = App\Quiz::select('id','name','description','average_playtime','status','image','thumbnail','created_at','updated_at','category_id','user_id','category_name'

  DB::raw('created_at >= DATE_SUB(CURDATE(),INTERVAL 10 day) as isNew')                           

                    )->where('status', 'active')->take(20)->get();        

   return Response::json(array(
        'error' => false,

        'quizzes' => $quizzes,
        'status_code' => 200
    ));


 });

【问题讨论】:

  • 使用join从category获取数据,能够基于category_id
  • 你能解释一下吗..
  • 欢迎来到 SO。这是一个非常琐碎的问题。你读过任何个最简单的教程吗?这不是代码编写服务。在您提出关于 SO 的问题之前,请先了解技术基础知识。

标签: php json database laravel


【解决方案1】:

加入表类别并获取类别名称

Route::get('/quizzes', function() {
  $quiz = new App\Quiz();

  $selectClause = array(
                    $quiz.getTable().'id',
                    $quiz.getTable().'name',
                    $quiz.getTable().'description',
                    $quiz.getTable().'average_playtime',
                    $quiz.getTable().'status',
                    $quiz.getTable().'image',
                    $quiz.getTable().'thumbnail',
                    $quiz.getTable().'created_at',
                    $quiz.getTable().'updated_at',
                    $quiz.getTable().'category_id',
                    $quiz.getTable().'user_id',
                    'c.category_name',
                    DB::raw($quiz.getTable().'created_at >= DATE_SUB(CURDATE(),INTERVAL 10 day) as isNew')
                  );
                  
  $quizzes = App\Quiz::join('category AS c', 'c.category_id', '=', $quiz.getTable().'category_id')
                     ->select($selectClause)
                     ->where('status', 'active')
                     ->take(20)
                     ->get();
                     
   return Response::json(array(
              'error' => false,
              'quizzes' => $quizzes,
              'status_code' => 200
          ));
});

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2020-07-06
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多