LoginSignup
2
0

Laravel で MariaDB の API を作成

Last updated at Posted at 2018-06-22

Laravel で MariaDB のテーブルを読む API を作成します。

MariaDB の状態は次のものと同じです。
Laravel で MariaDB のデータを表示

  1. プロジェクトの作成
  2. laravel new api01
    cd api01
    
  3. .env の編集
  4. # 略
    DB_DATABASE=city
    DB_USERNAME=scott
    DB_PASSWORD=tiger123
    # 略
    
  5. モデルの作成
  6. php artisan make:model Cities
    
  7. モデルの編集
  8. app/Models/Cities.php
    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Support\Facades\DB;
    
    class City extends Model
    {
      protected $table = 'cities';
      protected $guarded = array('id');
      public $timestamps = false;
    
    }
    
  9. routes/api.php の編集
  10. routes/api.php
    // 略
    Route::group(['middleware' => ['api']], function(){
      Route::resource('city', 'Api\CityController');
      Route::get('all', 'Api\CityController@all');
      Route::get('find/{id}', 'Api\CityController@find');
      Route::get('where/{name}', 'Api\CityController@where');
      Route::get('between/{min}/{max}', 'Api\CityController@between');
    });
    
  11. コントローラーの作成
  12. php artisan make:controller Api/CityController
    
  13. コントローラーの編集
  14. app/Http/Controllers/Api/CityController.php
    <?php
    
    namespace App\Http\Controllers\Api;
    
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    use App\Models\City;
    
    class CityController extends Controller
    {
    public function index()
        {
            //
            $cities = City::all();
            return $cities;
        }
            public function all()
            {
            $cities = City::all();
            return $cities;
            }
    
            public function find($id)
            {
            $cities = City::find($id);
            return $cities;
            }
    
            public function where($name)
            {
            $cities = City::where('name','=',$name)->get();
            return $cities;
            }
    public function between($min,$max)
            {
            $cities = City::whereBetween('population',[(int)$min,(int)$max])->get();
            return $cities;
            }
    
    }
    
  15. サーバーの起動
  16. php artisan serve --host 0.0.0.0
    
  17. クライアントでアクセス
  18. curl http://localhost:8000/api/city
    curl http://localhost:8000/api/where/倉敷
    
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0