Skip to content

Diğer Kullanım Örnekleri

Selahattin Ünlü edited this page Jan 4, 2017 · 15 revisions

Sabit Parametreler

columns

  • /api/users?columns=name,age,city_id
  • Oluşacak sorgu = Users::select(['name', 'age', 'city_id'])

İlişkisel tablolarda sütun seçimi

  • /api/users?columns=*,city.id,city.name&includes=city
  • Oluşacak Sorgu =
User::with(['city' => function($q) {
     return $q->select(['id', 'name']);
}])->select(['*'])

includes

  • /api/users?includes=city,country,town
  • Oluşacak sorgu = Users::with(['city', 'country', 'town'])

limit

  • /api/users?limit=3
  • Oluşacak sorgu = Users::take(3)

Limitsiz bir şekilde veriyi almak için

  • /api/users?limit=unlimited

order_by

  • /api/users?order_by=name,asc
  • Oluşacak sorgu = Users::orderBy('name', 'asc')

Random olarak sıralayabilirsiniz:

  • /api/users?order_by=random
  • Oluşacak sorgu = Users::orderBy(DB::raw('RAND()'))

Birden fazla order_by parametresi de ekleyebilirsiniz

  • /api/users?order_by=name,asc|age,desc|...
  • Oluşacak sorgu = Users::orderBy('name', 'asc')->orderBy('age', 'desc')

page

  • /api/users?page=2
  • Oluşacak sorgu = Users::skip(2 - 1 * {limit})

appends

  • /api/users?appends=is_admin,balance
  • Model'in $appends dizisine "is_admin" ve "balance"ı dahil eder.

Dolayısıyla dönen response'da "is_admin" ve "balance"a erişebilirsiniz.

Eğer bu konuyu bilmiyorsanız şuradan inceleyebilirsiniz: https://laravel.com/docs/5.3/eloquent-serialization#appending-values-to-json


Tablo Sütunları (Where Sorguları)

  • /api/users?name=Selahattin
  • Oluşacak sorgu = Users::where('name', '=', 'Selahattin')

  • /api/users?name!=Selahattin
  • Oluşacak sorgu = Users::where('name', '!=', 'Selahattin')

  • /api/users?name=*se
  • Oluşacak sorgu = Users::where('name', 'like', '%se')

  • /api/users?name=se*
  • Oluşacak sorgu = Users::where('name', 'like', 'se%')

  • /api/users?name=\*se\*
  • Oluşacak sorgu = Users::where('name', 'like', '%se%')

  • /api/users?age<18
  • Oluşacak sorgu = Users::where('age', '<', 18)

  • /api/users?age>18
  • Oluşacak sorgu = Users::where('age', '>', 18)

  • /api/users?age<=18
  • Oluşacak sorgu = Users::where('age', '<=', 18)

  • /api/users?age>=18
  • Oluşacak sorgu = Users::where('age', '>=', 18)

  • /api/users?age[]=18&age[]=23
  • Oluşacak sorgu = Users::whereIn('age', [18,23])

  • /api/users?age[]!=18&age[]!=23
  • Oluşacak sorgu = Users::whereNotIn('age', [18,23])

  • /api/users?updated_at=[null]
  • Oluşacak sorgu = Users::whereNull('updated_at')

  • /api/users?updated_at!=[null]
  • Oluşacak sorgu = Users::whereNotNull('updated_at')

whereBetween tipinde sorgular için bir parametreyi birden fazla filtreleyebilirsiniz

  • /api/users?age>10&age<20
  • Oluşacak sorgu Users::where('age', '>', 10)->where('age', '<', 20)