# Conventions: Defining Eloquent model (will assume that DB table named is set as plural of class name and primary key named "id"): ```class Shop extends Eloquent {}``` Using custom table name ```protected $table = 'my_shops';``` Using custom primary key (instead of "id"): ```protected $primaryKey = 'my_key';``` Disabling use of "created_at" and "updated_at" columns: ```public $timestamps = false;``` # Retrieving records: Retrieving all records(rows) of a given model: ```$shops = Shop::all();``` Find and get a record by primary key: ```$shop = Shop::find(1);``` Retrieving single record that matches a certain column : ```$shop = Shop::where('name', 'Starbucks')->first();``` Retrieving specific columns of the result (by default get() returns all columns): ```$shop = Shop::where('name', 'Starbucks')->get('name','address','url');``` Retrieving singe column of single row : ```$name = Shop::where('name', 'Starbucks')->pluck('address');``` Retrieving records matching a criteria: ```$shops = Shop::where('orders_cache','>','100')->get();``` where() takes 3 parameters, name of the column, operator and value to be compared against. The operator can be one of the following: ```'=', '<', '>', '<=', '>=', '<>', '!=', 'like', 'not like', 'between', 'ilike'``` Retrieve only a specified number of records matching a criteria: ```$shops = Shop::where('state', 'CA')->take(10)->get();``` Skip a specified number of records: ```$shops = Shops::where('name', 'Starbucks')->skip(10)->get();``` Combining "skip" and "take" (useful for making custom paginators): ```$shops = Shops::where('name', 'Starbucks')->skip(25)->take(25)->get();``` Using forPage() to accomplish the above statement: ```$shops = Shops::where('name', 'Starbucks')->forPage(2,25)->get();```