如何在phpmyadmin数据库(laravel)中获取最新的数据记录?

时间:2017-08-01 03:49:23

标签: laravel eloquent

这是我表内的价值。

$(document).ready(function(){
  var client_id = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
  var api = 'https://wind-bow.gomix.me/twitch-api/streams/'; 
  var newHTML=[];



  $.each(client_id,function(i,val){


    var stream_link = api + val + '?callback=?';

    $.getJSON(stream_link,function(data){
      $("#all_users").click(function(){
      newHTML.push('<span>' + val + '</span>');
      $("#display").html(newHTML.join("   "));


  })
      //$("#display").empty;
      if (data.stream == null){

        $("#offline").click(function(){

          newHTML.push('<span>' + val + '</span>');
          $("#display").html(newHTML.join("   "));})


      }

      else{
        $("#online").click(function(){

          newHTML.push('<span>' + val + '</span>');
          $("#display").html(newHTML.join("   ")); 

    })
      }
  })


  })


})

我希望它显示为

    id  branch_id  name    qty     datetime
    --- ---------  ----    ----    -----------
    1   1           a      5       2017-07-28 12:26:01
    2   2           b      3       2017-07-28 12:26:02
    3   3           c      4       2017-07-28 12:26:03
    4   1           a      2       2017-07-29 12:26:04
    5   2           b      2       2017-07-29 12:26:05
    6   3           c      2       2017-07-29 12:26:06

我想在登录用户branch_id为1时获取项目的最新DateTime,因此只显示branch_id 1的详细信息。

我尝试了下面显示的代码,但它返回旧记录,而不是最新记录。

    id  branch_id  name    qty     datetime
    --- ---------  ----    ----    -----------
    4   1           a      2       2017-07-29 12:26:04

我能知道问题是什么吗? http://sqlfiddle.com/#!9/71f834/5

3 个答案:

答案 0 :(得分:0)

为表格设置别名,然后在orderBy

上使用所需的别名
DB::table('firsttable as A')
    ->leftJoin('secondtable as B', 'A.id', '=', 'B.id')
    ->where('A.id', Auth::user()->id)
    ->orderBy('B.datetime', 'desc')
    ->groupBy('name')->get();

答案 1 :(得分:0)

试试这个。这看起来很奇怪,因为我们在一个表中使用JOIN但它可以工作。

$query = DB::select('
    SELECT n1.*
    FROM   mytable n1
           LEFT JOIN mytable n2
               ON (n1.branch_id = n2.branch_id AND n1.id < n2.id)
    WHERE  n2.id IS NULL;
');

答案 2 :(得分:0)

我想你会这样:

DB::table('A')
        ->leftJoin('B', 'A.name', '=', 'B.name')
        ->where('A.id', '>',B.id)
        ->order_by('B.datetime', 'desc')
        ->get();

原始查询Demo

我刚刚删除了该组,并将.name列用于leftjoin