PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Laravel वाक्पटु - क्या चयन से पहले संकेत जोड़ने का कोई तरीका है?

आप PostgresConnection वर्ग और PostgresGrammar वर्ग को ओवरराइड कर सकते हैं ताकि PostgresGrammar वर्ग में CompilSelect विधि में अपना तर्क जोड़ सकें।

class PostgresConnection extends \Illuminate\Database\PostgresConnection
{
    /**
     * @return \Illuminate\Database\Grammar|\Illuminate\Database\Query\Grammars\PostgresGrammar
     */
    protected function getDefaultQueryGrammar()
    {
        return $this->withTablePrefix(new PostgresGrammar());
    }
}
class PostgresGrammar extends \Illuminate\Database\Query\Grammars\PostgresGrammar
{
    /**
     * Compile a select query into SQL.
     *
     * @param  \Illuminate\Database\Query\Builder $query
     *
     * @return string
     */
    public function compileSelect(Builder $query)
    {
        $sql = parent::compileSelect($query);
        return '/*+ IndexScan(users) */' . $sql;
    }
}

सेवा प्रदाता वर्ग को परिभाषित करने की आवश्यकता है, इस सेवा प्रदाता को Illuminate\Database\DatabaseServiceProvider::class

से पहले पंजीकृत करना बहुत महत्वपूर्ण है
class DatabasePostgresServiceProvider extends ServiceProvider
{
    /**
     * 此外,在 Illuminate\Database\DatabaseServiceProvider::class 之前注册此服务提供程序非常重要
     *
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Connection::resolverFor('postgres', function ($connection, $database, $prefix, $config) {
            // Use your own defined PostgresConnection class here.
            return new PostgresConnection($connection, $database, $prefix, $config);
        });
    }
}

config/app.php में कॉन्फ़िगर किया गया

'providers' => [
        // .... 
        DatabasePostgresServiceProvider::class,
        Illuminate\Database\DatabaseServiceProvider::class,

    ],



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उत्पादन PostgreSQL डेटाबेस को प्रबंधित करना आसान बनाना

  2. कॉलम संयोजन पोस्टग्रेस्क्ल को कैसे बदलें

  3. नोटिफिकेशन के लिए नए यूजर को कैसे सब्सक्राइब करें?

  4. PostgreSQL में डिफ़ॉल्ट बाधा नाम क्या है?

  5. PostgreSQL - IN खंड में अधिकतम पैरामीटर?