0
Я хотел бы реализовать этот запрос с отношениями Laravel один к одному.Laravel 4.2 От одного до одного отношения возврат NULL
SELECT `path_filepath` from path where `path_id` = (SELECT `path_id` from file where file_id = 1)
Я хотел бы Filedb::find(1)->path()->path_filepath
. но path()
всегда возвращает NULL.
[database]
table: file
file_id
file_name
path_id
table: path
path_id
path_filepath
Модель
class Filedb extends Eloquent {
public $timestamps = false;
protected $table = 'file';
protected $primaryKey = 'file_id';
protected $connection = 'dl_database';
public function path(){
return $this->hasOne('Filepath','path_id','path_id');
}
}
class Filepath extends Eloquent {
public $timestamps = false;
protected $table = 'path';
protected $primaryKey = 'path_id';
protected $connection = 'dl_database';
public function filedb()
{
return $this->belongsTo('Filedb', 'path_id');
}
}
Мой контроллер
var_dump(Filedb::find(1)->path());
echo '<br>';
$queries = DB::connection('dl_database')->getQueryLog();
$last_query = end($queries);
var_dump($queries);
Outout
NULL
array(1) { [0]=> array(3) { ["query"]=> string(61) "select * from `file` where `file`.`file_id` = ? limit 1" ["bindings"]=> array(1) { [0]=> int(1) } ["time"]=> float(0.85) } }
Благодаря рабочих, но функция путь отсутствует возврат. – dragon1993
@ dragon1993 хорошо, да, точно так же, как ваш. Я скопировал его из вашего кода;) –