如何在删除一个数据后按升序从数据库中检索新数据?

时间:2018-04-12 05:48:02

标签: php mysql laravel laravel-5

我有联系人姓名,这些联系人名字按升序排列。

但是当我删除一个联系人姓名时,我想以升序顺序检索已删除邮件的下一个。

但我无法做对。现在我正在使用id进行检索,但效果不佳。

    function deleteContact($id)
    {
            $data = Contact::where('id', '>', $id)->first();

            $contact = Contact::find($id);
            $contact->delete();

            return $data;

        }

5 个答案:

答案 0 :(得分:2)

如果您想通过ID

显示订单
function deleteContact($id)
{
  $contact = Contact::find($id);
  $contact->delete();

  $data = Contact::orderBy('id','asc')->get();
  return $data;
}

如果您想按照从最后到第一个的创建日期显示顺序

function deleteContact($id)
{
  $contact = Contact::find($id);
  $contact->delete();

  $data = Contact::orderBy('created_at','DESC')->get();
  return $data;
}

答案 1 :(得分:0)

尝试使用Order By

$data = Contact::orderBy('name', 'ASC')->get();

查询构建器

$data = DB::table('contact')->orderBy('name','ASC')->get();

答案 2 :(得分:0)

试试这个。

function deleteContact($id)
{


        $contact = Contact::find($id);
        $contact->delete();

        $data = Contact::orderBy('name','asc')->first();
        return $data;

    }

答案 3 :(得分:0)

只需使用 orderBy ,而不是$data = Contact::where('id', '>', $id)->first();

查询联系人
function deleteContact($id)
{
    $contact = Contact::find($id);
    $contact->delete();

    $data = Contact::orderBy('name','asc')->first();
    return $data;
}

orderBy方法允许您按给定列对查询结果进行排序(此处您必须提供' name'列。)

有关详细信息,请查看此Ordering, Grouping, Limit, & Offset

如果您有任何疑问,请尝试此操作并发表评论。

答案 4 :(得分:0)

试试这个。首先删除然后按升序检索数据。

function deleteContact($id){  
    Contact::where('id', '=', $id)->delete();
    $data = Contact::select('*')->orderBy('id', 'asc')->get();
    return $data; }