Comments (2)
How so? could you explain what you did and show the Model that use it?
from yii2-relation-trait.
Models are complex with many relations.
But your overall code is piece of shit.
First of all - not each and every instance of ActiveQuery is a relation!!!
Looka at your code - first of all - you effectively rip through all "get" queries here:
try {
$rel = call_user_func(array($this, $method->name));
if ($rel instanceof ActiveQuery) {
$name = lcfirst(preg_replace('/^get/', '', $method->name));
$stack[$name]['name'] = lcfirst(preg_replace('/^get/', '', $method->name));
$stack[$name]['method'] = $method->name;
$stack[$name]['ismultiple'] = $rel->multiple;
$stack[$name]['modelClass'] = $rel->modelClass;
$stack[$name]['link'] = $rel->link;
$stack[$name]['via'] = $rel->via;
}
} catch (ErrorException $exc) {
then - you fuck delete all records as a madman:
if (!$isNewRecord) {
//DELETE WITH 'NOT IN' PK MODEL & REL MODEL
if ($isManyMany) {
// Many Many
$query = ['and', $notDeletedFK];
foreach ($notDeletedPK as $attr => $value) {
$notIn = ['not in', $attr, $value];
array_push($query, $notIn);
}
try {
$relModel->deleteAll($query);
} catch (IntegrityException $exc) {
$this->addError($name, "Data can't be deleted because it's still used by another data.");
$error = true;
}
} else {
// Has Many
$query = ['and', $notDeletedFK, ['not in', $relPKAttr[0], $notDeletedPK]];
if (!empty($notDeletedPK)) {
try {
$relModel->deleteAll($query);
} catch (IntegrityException $exc) {
$this->addError($name, "Data can't be deleted because it's still used by another data.");
$error = true;
}
}
}
}
You are a criminal - your fucking plugin nearly killed my database!
from yii2-relation-trait.
Related Issues (20)
- loadAll() returns false if no relation in post() HOT 21
- record deleted immediately after insert HOT 8
- Too few arguments to function app\models\base\Dokter::getListDokterRS(), 0 passed and exactly 1 expected HOT 5
- ArgumentCountError Too few arguments to function app\models\base\Poli::getListPoli(), 0 passed and exactly 1 expected
- Error : Too few arguments to function app\models\base\Penilaian::getPenilaianDetsWithParam(), 0 passed and exactly 1 expected
- Unable to locate message source for category 'mtrelt'. HOT 2
- $notDeletedPK - ID's of models came null
- Filtered record being deleted on update HOT 8
- Can't save hasMany relation without index 0 (zero)
- Deletion of has many relation works wrong HOT 1
- update failed with no relation HOT 1
- The object being updated is outdated. HOT 5
- $this->relatedRecords is empty HOT 1
- working with Taggable Behavior
- ID column for Related model doesn't populate on Post
- AR Method afterSave() of related model will be marked as deleted HOT 1
- Feature Request: softDelete()
- deleteWithRelated only works with direct relations
- SaveAll() function Deletes Related Records unexpectedly. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yii2-relation-trait.