Php Laravel雄辩关系不访问第二个表
我有两张桌子: 电子邮件:电子邮件id、姓名 电子邮件模板:模板id、模板mid、模板语言、模板主题、模板邮件 模板_mid是外键,与email.id关联 我的模型: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
<?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);
}