Laravel 7 + mongodb 、CRUDの作成 #mongodb #php #Laravel #doker #React
■ 概要:
前のmongodb + Laravel+ docker関連となり
Laravel 7 で CRUD のメモとなります。
・PECL mongoドライバ、docker設定は、前の記事と同様となります
■ 環境
mongoDb:
php-fpm : 7.3
Laravel : 7.29
PECL mongodb : 1.9
nginx
React 16
■ 参考
https://docs.mongodb.com/php-library/
■ 参考のコード
■ 実装など
・create
app/Http/Controllers/TasksController.php
public function create()
{
return view('tasks/create')->with('task', null);
}
/**************************************
*
**************************************/
public function store(Request $request)
{
$data = $request->all();
var_dump( $data["title"] );
var_dump( $data["content"] );
$collection = $this->db->tasks;
$result = $collection->insertOne( [
'title' => $data["title"],
'content' => $data["content"],
]);
return redirect()->route('tasks.index');
}
・Update
/**************************************
*
**************************************/
public function edit($id)
{
$collection = $this->db->tasks;
$task = $collection->findOne(
["_id"=>new ObjectID($id)]
);
//var_dump($task["_id"] );
return view('tasks/edit')->with([
'task'=>$task, 'task_id'=>$id
]);
}
/**************************************
*
**************************************/
public function update(Request $request, $id)
{
$collection = $this->db->tasks;
$data = $request->all();
$new_item = array('$set' => array("title" => $data["title"] ));
$result = $collection->updateOne(
array("_id"=>new ObjectID( $id ) ),
$new_item
);
return redirect()->route('tasks.index');
}
・delete
/**************************************
*
**************************************/
public function destroy($id)
{
// var_dump( $id );
$collection = $this->db->tasks;
$result = $collection->deleteOne(
array("_id"=>new ObjectID( $id ) )
);
return redirect()->route('tasks.index');
}
・index, api
app/Http/Controllers/ApiTasksController.php
public function get_tasks()
{
$collection = $this->db->tasks;
$result = $collection->find();
$items = [];
foreach ($result as $entry) {
$items[] = $entry;
// var_dump($entry["_id"]);
}
return response()->json($items);
}
■ リストの画面
■ 関連のページ
php + mongodb のdocker環境の作成 #mongodb #php #docker
https://note.com/knaka0209/n/n7b4cdce17ddd
Laravel 7 + mongodb 、検索する事例 #mongodb #php #Laravel
https://note.com/knaka0209/n/ndf839f2f7cfe
...