小编Irs*_*shu的帖子

Laravel使用查询构建器嵌套连接查询

这是一个搜索功能,可以返回每个成员注册的最近年份.

我让它使用DB :: raw()调用.但无法让它与查询构建器一起使用.

工作守则:

$query = DB::table('membership as m');
$query->join(
    DB::raw(
        '(SELECT my.*
        FROM membership_years my
        INNER JOIN (
            SELECT member_id,MAX(membership_year) AS max_my
            FROM membership_years
            GROUP BY member_id
        ) my2
        ON my.member_id = my2.member_id
        AND my.membership_year = my2.max_my
        ) my'
    )
,'m.id','=','my.member_id');
Run Code Online (Sandbox Code Playgroud)

我对查询构建器代码的尝试:

$query = DB::table('membership as m');
$query->join('membership_years as my',
  function($j1){
    $j1->join('membership_years as my2',
      function($j2){
        $j2->where('my.membership_year','=','MAX(my2.membership_year)')
        ->on('my.member_id','=','my2.member_id');
      }
    )->on('m.id','=','my.member_id');
  }
);
Run Code Online (Sandbox Code Playgroud)

产生的错误是:

调用未定义的方法Illuminate\Database\Query\JoinClause :: join()

我不确定这是否因为$j2无法再访问join方法了?

原始MySQL查询:

SELECT my.membership_year,m.*
FROM membership AS m 
INNER JOIN
    ( …
Run Code Online (Sandbox Code Playgroud)

php mysql join query-builder laravel

6
推荐指数
1
解决办法
4027
查看次数

Angular 2:检查 routeName 是否是当前的

我正在使用 Angular 2 开展一个项目,但遇到了一个问题。我创建了一个链接组件,我可以这样使用它:

<cmp-link [routeName]="['Channel/Add']">Add channel</cmp-link>

该组件检查当前路由是否与通过参数传递的路由相同,如果是,则应用一个类。如何检查当前 url 是否与 提供的 url 相同routeName?好吧,它很丑。

this.isCurrentRoute = this.normalize(currentUrl) === this.routeName[0].toLowerCase();
Run Code Online (Sandbox Code Playgroud)

你不喜欢吗?我也不。我想检查当前是否使用路线名称激活了路线。

(在这种情况下,Channel/Add是路由名称)。

我不知道如何使用路线名称来做到这一点。我看过RouterInstruction

javascript router typescript angular

5
推荐指数
1
解决办法
1645
查看次数

如何将 MarginBottom 添加到 BottomSheetDialogFragment?

到目前为止,这是我的BottomSheetFragment。我需要在bottomSheet 中添加一个偏移marginBottom。在其视图上设置边距,添加:

  @Override
    public void setupDialog(Dialog dialog, int style) {
        super.setupDialog(dialog, style);
        View contentView = View.inflate(getContext(), R.layout.layou_menu_more, null);
        dialog.setContentView(contentView);
        BottomSheetBehavior<View> mBottomSheetBehavior = BottomSheetBehavior.from(((View) contentView.getParent()));
        if (mBottomSheetBehavior != null) {
            mBottomSheetBehavior.setBottomSheetCallback(mBottomSheetBehaviorCallback);
            mBottomSheetBehavior.setHideable(true);
            contentView.requestLayout();
        }

        View bottomSheet = dialog.findViewById(R.id.bottom_sheet);
        FrameLayout.LayoutParams params=new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        params.setMargins(0,0,0,90);
        bottomSheet.setLayoutParams(params);
    }


    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.setOnShowListener(new DialogInterface.OnShowListener() {
            @Override
            public void onShow(DialogInterface dialogINterface) {
                dialog.getWindow().setLayout(
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.MATCH_PARENT);
               // dialog.getWindow().setGravity(Gravity.RIGHT);
            }
        });
        return dialog;
    }
Run Code Online (Sandbox Code Playgroud)

创建此视图:

在此处输入图片说明

如您所见,90dp 的边距最终作为BottomSheet 的填充。如何申请偏移marginBottom到 …

android android-layout android-fragments bottom-sheet

5
推荐指数
1
解决办法
2368
查看次数

Ember.js在视图中获取模型

我最近开始在ASP.NET Web API中使用Ember.js.我很难从服务器加载模型.但现在我拥有它,我想从视图中的商店获取模型.目前我正在开发一个日历应用程序.这是逻辑,

    App.IndexRoute = Ember.Route.extend({
    //setupController: function (controller) {
    //    // Set the IndexController's `title`
    //    this.controllerFor('application').set('model', App.application.options);
    //}
    model: function () {
        return this.store.findAll('eventList');
    },

    setupController: function (controller, model) {
        this.controllerFor('index');
       // controller.set('model', App.Events.findAll());
    }
});
Run Code Online (Sandbox Code Playgroud)

控制器:

    App.IndexController = Ember.ArrayController.extend({
    sortProperties: ['eventId'],
    sortAscending: false,
    //events: Ember.computed.alias('model')
});
Run Code Online (Sandbox Code Playgroud)

模型

    App.EventList = DS.Model.extend({
    eventId: DS.attr('string'),
    title: DS.attr('string'),
    start: DS.attr('string'),
    end: DS.attr('string'),
    allDay: DS.attr('string')
});

App.EventListSerializer = DS.WebAPISerializer.extend({
    primaryKey: 'eventId',
});
Run Code Online (Sandbox Code Playgroud)

终于看到了

    /// <reference path="../../@JSense.js" />
App.IndexView = Ember.View.extend({
    didInsertElement: function …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net javascript-framework ember.js

4
推荐指数
1
解决办法
5009
查看次数

如何以像素为单位获取视图之间的距离?

如下图所示.我有一个relative layout.我有我ImageView的相同,我需要在视图开始和这个ImageView之间获得像素差距.我的活动如下.请指教.我试过各种各样的方法,topY()但找不到解决办法.

在pixcel找到距离

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <LinearLayout
        android:id="@+id/main_ruler_linear_layout"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:orientation="horizontal" 
        >        
        </LinearLayout>

    <ImageView 
        android:id="@+id/line_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/line"/>

    <EditText
        android:id="@+id/txtRulerCenterPosition"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/main_ruler_linear_layout"
        android:layout_marginRight="17dp"
        android:layout_marginTop="16dp"
        android:ems="10" 
        android:textSize="5dp"
        android:focusable="false"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

java android relativelayout imageview

4
推荐指数
1
解决办法
2337
查看次数

将多个值传递给存储过程

在SQL Server中运行以下命令的正确方法是什么?

Execute myStore @dept='dept1',@dept='dept2'
Run Code Online (Sandbox Code Playgroud)

要么

Execute myStore @dept in ('dept1','dept2')
Run Code Online (Sandbox Code Playgroud)

sql sql-server

4
推荐指数
1
解决办法
4063
查看次数

在c#中是否有jQuery扩展?

 var _Contact = new ContactLstModel { 
             ContactName="xxxxxx",
              EmailAddr="yyyyyy",
               ContactNo="ddddddd",
               SelectedContactType="dddd"
            };

 var _ContactOption= new ContactLstModel{
                 ContactType= new List<SelectListItem>(){
                 new SelectListItem{
                  Text="sss",Value="ddd"
                 }
                 }
            };
Run Code Online (Sandbox Code Playgroud)

你可以看到两者都是同一型号ContactLstModel.现在我如何将两者合二为一?

就像在jQuery中一样,我们有 $.extend(dest,source);

C#中有等价物吗?

.net c# asp.net asp.net-mvc jquery

3
推荐指数
1
解决办法
1239
查看次数

如何使 RecyclerView 标头不粘?

我有以下布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.mkallingal.freakingnav.CardsListFragment">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/darktext"
        android:layout_marginBottom="6dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Cards Listing" />

    <android.support.v7.widget.RecyclerView android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/rvCardsList"
        android:scrollbars="vertical" tools:listitem="@layout/recycler_item_layout">
    </android.support.v7.widget.RecyclerView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

问题是 TextView 总是粘在顶部,而 RecyclerView 占用屏幕上的剩余空间。我可以水平滚动 recyclerview,但 TextView 只是停留在那里。我如何解决这个问题?

android android-recyclerview

1
推荐指数
1
解决办法
2028
查看次数

无法分配给属性:将值分配给 @ObservedObject 时“self”是不可变的

struct ParentView: View {
  @ObservedObject var selectedFruit:Fruit
  @State var showingSheet = false

  var body: some View {
        VStack {
            HStack(spacing:0.6) {
                ForEach(self.viewModel.fruits, id: \.id) { record in
                    Text(record).onTapGesture {
                        self.selectedFruit = Fruit() //Cannot assign to property: 'self' is immutable
                        self.showingSheet.toggle()
                    }
                }
             }

        }.sheet(isPresented: $showingSheet,onDismiss: {
                print("reload?")
        }) { 
             DetailView(fruit: self.selectedFruit)
        }
   }
}  




struct DetailView: View {
    @ObservedObject var fruit: Fruit
    var body: some View {
        Text(fruit.text)
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试为可观察值赋值时selectedFruitParentView出现以下编译错误:

无法分配给属性:“self”是不可变的

但如果我替换@ObservedObject@State …

ios swift swiftui

0
推荐指数
1
解决办法
3671
查看次数