csv export

This commit is contained in:
2023-10-08 02:12:02 +03:00
parent bac0d183c9
commit 9c90f51711
2 changed files with 18 additions and 25 deletions
+10 -20
View File
@@ -107,28 +107,19 @@ class RecordController extends Controller
$sort = data_get($urlParams, "sort") ?? "-_sys.updatedAt"; $sort = data_get($urlParams, "sort") ?? "-_sys.updatedAt";
$filter = data_get($urlParams, "filter") ?? []; $filter = data_get($urlParams, "filter") ?? [];
$arguments = array_merge([ $arguments = array_merge([
"_sys.schema" => $schema->name, "schema" => $schema->name,
"_sys.status_in" => "draft,published", "status_in" => "draft,published",
], $filter); ], $filter);
$records = []; $records = $this->query
try {
$queryResult = $this->query
->filter($arguments) ->filter($arguments)
// ->limit($limit) ->limit(-1)
->status(explode(",", $arguments["_sys.status_in"])) ->status(explode(",", $arguments["status_in"]))
// ->skip($skip) // ->skip($skip)
->sort($sort) ->sort($sort)
->childrenDepth(0) ->run()
->parentsDepth(0) ->records;
->run();
$graph = $queryResult->getQueryRecords();
$records = $graph->getRootRecords()->toArray();
} catch (SubqueryNoResultException) {
}
header('Content-Type: application/csv'); header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $schemaName . '.csv";'); header('Content-Disposition: attachment; filename="' . $schemaName . '.csv";');
@@ -221,7 +212,6 @@ class RecordController extends Controller
} }
public function editInline(Request $request) public function editInline(Request $request)
{ {
$rid = $request->route("rid"); $rid = $request->route("rid");
@@ -250,9 +240,9 @@ class RecordController extends Controller
if ($request->input("value")) { if ($request->input("value")) {
if (in_array($request->input("ui"), ["text", "date"])) { if (in_array($request->input("ui"), ["text", "date"])) {
$arguments["data.".$request->input("field") . "_regex"] = $request->input("value"); $arguments["data." . $request->input("field") . "_regex"] = $request->input("value");
} elseif ($request->input("ui") == "number") { } elseif ($request->input("ui") == "number") {
$arguments["data.".$request->input("field") . "_eqnum"] = floatval($request->input("value")); $arguments["data." . $request->input("field") . "_eqnum"] = floatval($request->input("value"));
} elseif ($request->input("ui") == "date") { } elseif ($request->input("ui") == "date") {
} }
} }
@@ -278,7 +268,7 @@ class RecordController extends Controller
$recordId = $this->recordService->create( $recordId = $this->recordService->create(
schemaName: $request->input("record.schema"), schemaName: $request->input("record.schema"),
data: $request->input("record.data"), data: $request->input("record.data"),
id:$recordId ?? "", id: $recordId ?? "",
file: $request->input("record._file") ?? [], file: $request->input("record._file") ?? [],
edges: $request->input("edges") ?? [], edges: $request->input("edges") ?? [],
status: $request->input("record.status"), status: $request->input("record.status"),
+3
View File
@@ -157,8 +157,11 @@ final class Query
{ {
$query = DB::table("records"); $query = DB::table("records");
$query = $this->parseFilters($query); $query = $this->parseFilters($query);
if($this->options->limit > 0){
$query->limit($this->options->limit); $query->limit($this->options->limit);
$query->offset($this->options->skip); $query->offset($this->options->skip);
}
$query = $this->orderByQuery($query); $query = $this->orderByQuery($query);
return $query->get()->map(function ($r) { return $query->get()->map(function ($r) {