Я полагаю, что вы используете laravel, поэтому, возможно, это поможет вам:
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get()->toArray();
foreach($data as $berkas){
$url = $berkas["file"];
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"]= $datasigned
}
return $data;
Или вы можете попробовать:
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get();
foreach($data as $berkas){
$url = $berkas->file;
$berkas = (array)$berkas
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"] = $datasigned
}
return $data;
Если вы не хотите переопределять " file "Вы можете просто заменить $berkas["file"] = $datasigned
на $berkas[]["file"] = $datasigned
, если вы хотите добавить его к данным, вам нужно создать новый массив, проще сделать что-то вроде:
public function index(Request $request){
$data = Apidata::select('file')->where('nim','=',$request->nim)->get()->toArray();
$newDaata = [];
foreach($data as $berkas){
$url = $berkas["file"];
// $filename = basename($url);
// $file = storage_path().'/berkas/'.$filename;
$pathfile = pathinfo($url);
$datasigned = $pathfile['dirname'].'/'.$pathfile['filename'].'_signed.'.$pathfile['extension'];
$berkas["file"]= $datasigned
array_push($newData , $berkas);
}
return $newData;
Hope yusefull