查看Laravel 5中的分享

时间:2016-03-07 09:12:15

标签: laravel view laravel-5

我有这个类和public void initList(){ View box = getLayoutInflater().inflate(R.layout.box, null); LinearLayout ll_box = (LinearLayout)box.findViewById(R.id.ll_box); int item = 7; int idx = item/3; //idx is a number of boxes if (item%3!=0) idx++; for (int i=0; i<idx; i++ ){ for(int j=0; j<3; j++){ ll_box.addView(LayoutInflater.from(this).inflate(R.layout.item, null)); } ll_list.addView(ll_box); } } 变量来计算用户没有读过的消息。我有一个问题,即无论用户是否登录,我只会收到一个空字符串$total_mess(如果是条件,则为第二个)。

$total_mess

那我怎么解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

只需在启动方法中执行此操作,一旦视图准备就绪,它将使您的变量可用,这仅在视图中可用

view()->composer('*', function ($view) 
{
   if (Auth::check()) {
     $total_mess = Chat::whereRaw('view = ?  and  to_user = ?', [0, Auth::user()->username])->count();
     $view->with('total_mess', $total_mess);
   }

   if (Auth::guest()) {
      $view->with('total_mess', $total_mess);
   }

});             

<强>被修改

如果你也想在控制器中访问它,就像视图一样,那么试试这个而不是上面的方法

app()->singleton('total_mess',function($app){

   if (Auth::check()) {
     $total_mess = Chat::whereRaw('view = ?  and  to_user = ?', [0, Auth::user()->username])->count();
   }

   if (Auth::guest()) {
      $total_mess = '';
   }

      return $total_mess;

});

并可以使用此App::make('friend_new_req_count')

访问该值