php-Laravel,使用中间件查找域,然后使用域行获取网站行.

我想使用一些中间件从网站表中获取一行,该行在我的domains表中被引用.

到目前为止,这是我的中间件:

<?PHP

    namespace App\Http\Middleware;

    use App\Domains;
    use Closure;

    class Domain
    {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {

            $domainRow = Domains::where([ 'domain' => $_SERVER['HTTP_HOST'] ])->first();

            dd($domainRow->website);

            return $next($request);
        }
    }

这是我的Domains模型,除了hasOne部分之外,它可以正常工作:

<?PHP

    namespace App;

    use Illuminate\Database\Eloquent\Model;

    class Domains extends Model
    {

        public function website()
        {
            return $this->hasOne('App\Website');
        }

    }

hasOne部分正在生成以下查询

UnkNown column ‘websites.domains_id’ in ‘where clause’ (sql: select * from websites where websites.domains_id = 2 and websites.domains_id is not null limit 1)

但是,我需要它进行查询

SELECT * FROM websites WHERE id = 1

其中1来自“域”表中的website_id列.

解决方法:

将网站方法更改为:

public function website() 
{
    return $this->belongsTo('App\Website');
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...