Code changes
- Update docblocks
- Check that the cascade relationship method exists and that it returns the appropriate type
- A
LogicExceptionis now thrown if the method does not exist, as well as if it does exist and does not implementIlluminate\Database\Eloquent\Relations\Relation
- A
- Move iterating over the
cascadeDeletesproperty to a getter method, to ensure the trait functions even without the property defined - Switch
collecttoarray_filter(minor speed improvement)
Tests
- Add expected message regular expressions for expected exceptions
- Ensure we can accept a string in the
cascadeDeletesproperty - Ensure we handle relationship methods that don’t exist without triggering a fatal error
- Extract attaching of comments to a private method