44
55use CodexShaper \DBM \Database \Schema \Table ;
66use CodexShaper \DBM \Facades \Driver ;
7- use CodexShaper \DBM \Traits \RecordRelationship ;
87use CodexShaper \DBM \Traits \RecordTrait ;
98use DBM ;
109use Illuminate \Http \Request ;
1110
1211class RecordController extends Controller
1312{
14- use RecordTrait, RecordRelationship ;
13+ use RecordTrait;
1514
1615 public function index ()
1716 {
@@ -26,10 +25,9 @@ public function store(Request $request)
2625 return $ response ;
2726 }
2827
29- $ tableName = $ request ->table ;
30- $ originalColumns = Table::getColumnsName ($ tableName );
31- $ columns = json_decode ($ request ->columns );
32- $ fields = json_decode ($ request ->fields );
28+ $ tableName = $ request ->table ;
29+ $ columns = json_decode ($ request ->columns );
30+ $ fields = json_decode ($ request ->fields );
3331
3432 $ errors = $ this ->validation ($ fields , $ columns );
3533
@@ -38,32 +36,14 @@ public function store(Request $request)
3836 }
3937
4038 $ object = DBM ::Object ()->where ('name ' , $ tableName )->first ();
41- $ model = $ object ->model ;
4239
43- if (!class_exists ($ model )) {
40+ if (!class_exists ($ object -> model )) {
4441 return $ this ->generateError (["Model not found. Please create model first " ]);
4542 }
4643
4744 try {
4845
49- $ table = DBM ::model ($ model , $ tableName );
50-
51- foreach ($ columns as $ column => $ value ) {
52- if (in_array ($ column , $ originalColumns )) {
53-
54- if ($ request ->hasFile ($ column )) {
55- $ value = $ this ->saveFiles ($ request , $ column , $ tableName );
56- }
57-
58- if (!Driver::isMongoDB ()) {
59- if ($ functionName = $ this ->hasFunction ($ fields , $ column )) {
60- $ value = $ this ->executeFunction ($ functionName , $ value );
61- }
62- }
63-
64- $ table ->{$ column } = $ this ->prepareStoreField ($ value , $ tableName , $ column );
65- }
66- }
46+ $ table = $ this ->processStoreData ($ request , $ object );
6747
6848 if ($ table ->save ()) {
6949 $ this ->storeRelationshipData ($ fields , $ columns , $ object , $ table );
@@ -78,6 +58,32 @@ public function store(Request $request)
7858 return response ()->json (['success ' => false ]);
7959 }
8060
61+ public function processStoreData ($ request , $ object )
62+ {
63+ $ originalColumns = Table::getColumnsName ($ request ->table );
64+ $ columns = json_decode ($ request ->columns );
65+ $ table = DBM ::model ($ object ->model , $ request ->table );
66+
67+ foreach ($ columns as $ column => $ value ) {
68+ if (in_array ($ column , $ originalColumns )) {
69+
70+ if ($ request ->hasFile ($ column )) {
71+ $ value = $ this ->saveFiles ($ request , $ column , $ request ->table );
72+ }
73+
74+ if (!Driver::isMongoDB ()) {
75+ if ($ functionName = $ this ->hasFunction ($ fields , $ column )) {
76+ $ value = $ this ->executeFunction ($ functionName , $ value );
77+ }
78+ }
79+
80+ $ table ->{$ column } = $ this ->prepareStoreField ($ value , $ request ->table , $ column );
81+ }
82+ }
83+
84+ return $ table ;
85+ }
86+
8187 public function update (Request $ request )
8288 {
8389 if ($ request ->ajax ()) {
0 commit comments