From: Vincent Vanwaelscappel Date: Tue, 10 Feb 2026 14:04:34 +0000 (+0100) Subject: wip #7868 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=8260731bb608c0dea8e59efa2da7e6a01cf28912;p=cubist_cms-back.git wip #7868 @0.5 --- diff --git a/src/app/Magic/Traits/CustomDataSource.php b/src/app/Magic/Traits/CustomDataSource.php index 856c6f6..a73f9a4 100644 --- a/src/app/Magic/Traits/CustomDataSource.php +++ b/src/app/Magic/Traits/CustomDataSource.php @@ -63,8 +63,9 @@ trait CustomDataSource $keys[] = $row[$pk]; } - $toInsert = $keys; + $toInsert = array_diff($keys, $existingKeys); $toDelete = array_diff($existingKeys, $keys); + $toUpdate = array_diff(array_diff($keys, $toInsert), $toDelete); $inserts = []; foreach ($toInsert as $hash) { @@ -72,20 +73,11 @@ trait CustomDataSource $inserts[$hash] = $rows[$hash]; } } - - - try { - foreach ($inserts as $key => $i) { - $id = [$pk => $key]; - $data = $i; - unset($data[$pk]); - static::updateOrCreate($id, $data); - } - } catch (\Exception $e) { - $hadError = true; - Log::error($e); + foreach ($toUpdate as $hash) { + static::where($pk, $hash)->update($rows[$hash]); } + self::insert($inserts); static::whereIn($pk, $toDelete)->forceDelete(); Cache::put(static::getCacheKey() . '_refresh', $hadError ? -1 : time()); } diff --git a/src/resources/views/columns/url.blade.php b/src/resources/views/columns/url.blade.php index 3933561..b4f375c 100644 --- a/src/resources/views/columns/url.blade.php +++ b/src/resources/views/columns/url.blade.php @@ -2,10 +2,17 @@ @php $value = data_get($entry, $column['name']); $value = is_array($value) ? json_encode($value) : $value; + + $url=$value; + $url=preg_replace('/^https?:\/\//','',$url); + $limit=50; + if(strlen($url)>$limit){ + $url=substr($url,0,$limit-3).'...'; + } @endphp @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_start') - {{ $value }} + {{ $url }} @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_end')