linyu0423

127 经验值

显示的是错误101,给人的感觉是没有初始化.

打个比方.我用http://localhost(这个是在云上远程桌面打开的.用域名访问一样错误)/record/6/show 这个访问是无法访问链接 错误101
然后用http://localhost:8000/record/6/show 访问一次后,上面的问题也就没有了.

laravel 发布到云端上,一切OK.最近发现一个问题.

laravel主业什么的都好.数据正常添加,但是发现,添加完第一条数据调用SHOW方法的时候,浏览器显示错误.查看发现根本没有执行.返回空页面....然后在远端调用 artisan sever 用8000端口访问就好了.连带服务器的apache80端口的也可以使用.....

这个问题很早时候在本机写的时候也发现过.但是没有引起注意..

(简单说就是访问member/1错误.要打开artisan sever ,用8000端口访问一次member/1就没问题了,求助出现这个问题的可能原因...)

还有是不是route文件中用了function()的方法 route:cache 就失效了

由于网络延迟导致的两次点击.就比如我刚刚一下子点了三下.就发了三个帖子.

谢谢排版,还想补充一个问题.多对多情况下,要想取出 A=1和2对应的B语句应该如何写...期待大神

var_dump(Model::where('foo', '=', 'bar')->toSql())

在后头加->toSql()就可以输出SQL 语句

从A belongsToMany 找到B , B的关联 hasMany C

求A的关联C的所有值
A:

class Shop extends Model
{ 
public function members()
    {
        return $this->belongsToMany('App\Member');
    }
}

B:

class Member extends Model
{
public function shops()
    {
        return $this->belongsToMany('App\Shop');
    }
}
 
 public function member_reminds()
  {
        return $this->hasMany('App\Member_remind');
   }

C:

class Member_remind extends Model
{
    public function member()
    {
        return $this->belongsTo('App\Member');
    }
    }

试过两个方法,

1--首先取出 ID为1的A:SHOP 关联B: MEMBERS 的ID 列表 (lists('id'))
2--然后用C的whereIn来取出数据
问题是这样产生的SQL语句特别长,特别是关联B的条数上升ID列表越来越长


直接用DB::table方法,用JOIN

   
   DB::table('member_reminds')
->join('members','members.id','=','member_reminds.member_id' )
->join('member_shop','members.id','=','member_shop.member_id')
->join('shops','shops.id','=','member_shop.shop_id' )
->where('shops.id','=' ,$shop->id)
->get()

问题是获得的数据是一维的,不能象别的Model产生的可以关联
比如 $member_remind->member->name

请问有什么比较好的方案