- Eloquentのモデルを作成する まず、Eloquentのモデルを作成します。例えば、"Post"というモデルを作成する場合は、次のようにします。
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $table = 'posts';
}
- コントローラーでデータを取得する 次に、コントローラーでデータベースからデータを取得します。以下は、すべての投稿を取得する例です。
<?php
namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function getAllPosts()
{
$posts = Post::all();
return response()->json($posts);
}
}
- レスポンスをフィルタリングする
もし、レスポンスに含めるデータを制限したい場合は、Eloquentの
select
メソッドを使用してフィールドを指定することができます。以下は、IDと名前のみを含むレスポンスを作成する例です。
$posts = Post::select('id', 'name')->get();
- レスポンスのカスタマイズ 必要に応じて、レスポンスのフォーマットやキーの名前をカスタマイズすることもできます。以下は、レスポンスのキーを変更する例です。
$posts = Post::all();
$transformedPosts = $posts->map(function ($post) {
return [
'post_id' => $post->id,
'post_name' => $post->name,
];
});
return response()->json($transformedPosts);
これらの例を参考にして、LaravelのEloquentを使用してJSONレスポンスからIDと名前を取得する方法を実装してみてください。