Skip to content

Instantly share code, notes, and snippets.

@clouddueling
Created November 16, 2013 21:58
Show Gist options
  • Select an option

  • Save clouddueling/7505892 to your computer and use it in GitHub Desktop.

Select an option

Save clouddueling/7505892 to your computer and use it in GitHub Desktop.
example laravel 3 controller method api
<?php
class Api_V1_Address_Controller extends Base_Controller
{
public function post_index()
{
try {
$s = extend(array(
'name' => '',
'address_1' => '',
'address_2' => '',
'city' => '',
'state' => '',
'country' => '',
'zip' => ''
), sr());
$address = Address::create(array(
'account_user_id' => Auth::user()->account_user_id,
'name' => $s['name'],
'address_1' => $s['address_1'],
'address_2' => $s['address_2'],
'city' => $s['city'],
'state' => $s['state'],
'country' => $s['country'],
'zip' => $s['zip']
));
return json(array(
'address' => to_json($address)
));
} catch(Exception $e) {
return Report::log($e->getMessage());
}
}
public function get_index($id)
{
try {
$address = Address::find($id);
has_access($address);
return json(array(
'address' => to_json($address)
));
} catch(Exception $e) {
return Report::log($e->getMessage());
}
}
public function put_index($id)
{
try {
$s = extend(array(
'name' => '',
'address_1' => '',
'address_2' => '',
'city' => '',
'state' => '',
'zip' => '',
'country' => '',
), sr());
$address = Address::find($id);
has_access($address);
$address->name = $s['name'];
$address->address_1 = $s['address_1'];
$address->address_2 = $s['address_2'];
$address->city = $s['city'];
$address->state = $s['state'];
$address->zip = $s['zip'];
$address->country = $s['country'];
$address->save();
return json(array(
'address' => to_json($address)
));
} catch (Exception $e) {
return Report::log($e->getMessage());
}
}
public function delete_index($address_id)
{
try {
$address = Address::find($address_id);
has_access($address);
return json(array(
'success' => $address->soft_delete()
));
} catch (Exception $e) {
return Report::log($e->getMessage());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment