UrlRewrite.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * URL rewrite resource model
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\UrlRewrite\Model\ResourceModel;
  9. class UrlRewrite extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
  10. {
  11. /**
  12. * Define main table
  13. *
  14. * @return void
  15. */
  16. protected function _construct()
  17. {
  18. $this->_init('url_rewrite', 'url_rewrite_id');
  19. }
  20. /**
  21. * Initialize array fields
  22. *
  23. * @return $this
  24. */
  25. protected function _initUniqueFields()
  26. {
  27. $this->_uniqueFields = [
  28. ['field' => ['request_path', 'store_id'], 'title' => __('Request Path for Specified Store')],
  29. ];
  30. return $this;
  31. }
  32. /**
  33. * Retrieve select object for load object data
  34. *
  35. * @param string $field
  36. * @param mixed $value
  37. * @param \Magento\UrlRewrite\Model\UrlRewrite $object
  38. * @return \Magento\Framework\DB\Select
  39. */
  40. protected function _getLoadSelect($field, $value, $object)
  41. {
  42. /** @var $select \Magento\Framework\DB\Select */
  43. $select = parent::_getLoadSelect($field, $value, $object);
  44. if ($object->getStoreId() !== null) {
  45. $select->where(
  46. 'store_id IN(?)',
  47. [\Magento\Store\Model\Store::DEFAULT_STORE_ID, $object->getStoreId()]
  48. );
  49. $select->order('store_id ' . \Magento\Framework\DB\Select::SQL_DESC);
  50. $select->limit(1);
  51. }
  52. return $select;
  53. }
  54. }