Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel雄辩关系不访问第二个表_Php_Laravel - Fatal编程技术网

Php Laravel雄辩关系不访问第二个表

Php Laravel雄辩关系不访问第二个表,php,laravel,Php,Laravel,我有两张桌子: 电子邮件:电子邮件id、姓名 电子邮件模板:模板id、模板mid、模板语言、模板主题、模板邮件 模板_mid是外键,与email.id关联 我的模型: <?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Builder; class Email extends Model { /** * Indicates if t

我有两张桌子:

电子邮件:电子邮件id、姓名

电子邮件模板:模板id、模板mid、模板语言、模板主题、模板邮件

模板_mid是外键,与email.id关联

我的模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;

class Email extends Model
{
    /**
     * Indicates if the model should be timestamped.
     *
     * @var bool
     */
    public $timestamps = false;

    /**
     * Indicates primary key column.
     *
     * @var bool
     */
    protected $primaryKey = "email_id";

    public function template()
    {
        return $this->hasOne('App\Email_template', 'template_mid', 'email_id');
    }
}

我无法访问模板方法,并且在转储结果中只有id subject。如何解决此问题?

相关模型不会自动加载。您可以使用()加载它们,也可以单独加载:

Email::with('template')->get();


相关模型不会自动加载。您可以使用()加载它们,也可以单独加载:

Email::with('template')->get();


$this->hasOne('App\Email\u template','template\u mid','id')该列为email\u id而非idAlso,模板不会自动加载。您可以使用
Email::with('template')->all()加载它们
或单独使用
$email->template
我尝试了dd($email->template),但它表明此集合实例上不存在属性[template]。请尝试
foreach($email as$email){dd($email->template);}
。您不能从集合中提取它,但您应该能够从单个电子邮件记录中提取它。
$this->hasOne('App\email\u template','template\u mid','id')该列为email\u id而非idAlso,模板不会自动加载。您可以使用
Email::with('template')->all()加载它们
或单独使用
$email->template
我尝试了dd($email->template),但它表明此集合实例上不存在属性[template]。请尝试
foreach($email as$email){dd($email->template);}
。你不能从收集中提取它,但你应该可以从个人的电子邮件记录中提取它。只是为了澄清第二个是为我工作的。第一个表示:BadMethodCallException方法Illumb\Database\Query\Builder::all不存在我想哦,对了,应该是
get()
,而不是
all()
。我会解决的。只是想澄清第二个对我有用。第一个表示:BadMethodCallException方法Illumb\Database\Query\Builder::all不存在我想哦,对了,应该是
get()
,而不是
all()
。我会解决的。
Email::with('template')->get();
foreach($emails as $email) 
{ 
      dd($email->template); 
}