Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да извлечете всички записи чрез външен ключ с Laravel

Ако използвате Eloquent, трябва да се възползвате от неговия мощен ORM, за да получите всички цитати, които принадлежат за конкретен потребител първо трябва да декларирате релациите:

модели/Persona.php

class Persona extends Eloquent {


    public $timestamps = false;

    protected $table = 'persona';

    protected $primaryKey = 'idPersona';

    function quotes() {
        return $this->hasMany('Quote', 'idquote');
    }

}

models/Quote.php

class Quote extends Eloquent {

    public $timestamps = false;

    protected $table = 'quote';

    protected $primaryKey = 'idquote';

    function persona() {
        return $this->belongsTo('Persona', 'idPersona');
    }
}

След това можете просто да получите желаната persona с всички свързани цитати с помощта на връзката, която определихме по-горе:

QuoteController.php

public function index($id) {
    $quotes = Persona::with('quotes')->find($id)->quotes;
    return View::make('quotes.index')->with('quotes', $quotes);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете и актуализирайте в същата заявка

  2. Python 'float64' не може да бъде преобразуван в тип MySQL, но при ръчна заявка това не е проблем

  3. UnicodeEncodeError:Кодекът 'latin-1' не може да кодира символ

  4. Как да коригирам грешка, причинена от това, че libmysqlclient.15.dylib не се зарежда?

  5. Как да премахнете част от низ в mysql?