小编Jay*_*abu的帖子

Rails 7 - ActiveRecord::Associations::Preloader.new.preload

考虑这段代码:

# in Rails 6.1
def preload(resource, relations)
  ActiveRecord::Associations::Preloader.new.preload(resource, relations)
end
Run Code Online (Sandbox Code Playgroud)

所以:我想改变它以与 Rails 7 兼容,所以我写了这个:

def preload(resource, relations)
  ActiveRecord::Associations::Preloader.new(records: resource, associations: relations)
end
Run Code Online (Sandbox Code Playgroud)

我做对了吗?因为 .preload(resource,relations) 在 Rails 7 中不再存在。如果您有任何其他建议,我非常期待

ruby-on-rails-6 ruby-on-rails-7

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

如何从 kotlin 中的辅助构造函数调用“super()”?

我刚刚开始使用 kotlin,我有一段 java 代码,我必须将其转换为 kotlin。这是Java代码:

public class NonSwipeableViewPager extends ViewPager
{
    public NonSwipeableViewPager(Context context) {
        super(context);
        setMyScroller();
    }

    public NonSwipeableViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        setMyScroller();
    }

    private void setMyScroller() {
        //some code
    }
}
Run Code Online (Sandbox Code Playgroud)

如果这段代码中只有一个构造函数,我可以这样写:

class NonSwipeableViewPager(context: Context): ViewPager(context) {

     init {
         setMyScroller()
     }

     private fun setMyScroller() {
         //some code
     }
 }
Run Code Online (Sandbox Code Playgroud)

但是,由于有两个构造函数,每个构造函数都调用super()方法,我无法弄清楚如何将此代码转换为 kotlin。我最接近的是这个:

class NonSwipeableViewPager(context: Context): ViewPager(context) {

     init {
         setMyScroller()
     }

     constructor(context: Context?, attrs: AttributeSet?) : super(context!!, attrs) {
         setMyScroller()
     }

     private fun setMyScroller() …
Run Code Online (Sandbox Code Playgroud)

java android kotlin

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

如何将数据库表的总和变为变量?

我有一个名为的数据库表Deposit,其中一个是列名30-12-2013.该列有两个值,例如54,26.

我想将该列列的总和变为变量.我使用以下代码:

con.Open();
SqlCeCommand cmd11 = con.CreateCommand();
cmd11.CommandText = "select sum(30-12-2013) from Deposit";
int result = ((int)cmd11.ExecuteScalar());
displaylabel.Text = result.ToString();
con.Close();
Run Code Online (Sandbox Code Playgroud)

但是,我得到变量'result'的值为-3990.

我的代码有什么问题..请帮帮我..先谢谢..

c# sql sql-server sql-server-ce

5
推荐指数
3
解决办法
2168
查看次数

为什么 sum() 查询返回的结果带有更多小数点?

在此输入图像描述

上图显示了我的数据库表中名为“igstAmt”的列之一。当我使用查询时,它返回带有许多小数点的"SELECT sum(igstAmt) as igstAmt FROM salesinvoice值,但正确的答案是。我知道我可以在显示时对结果进行四舍五入,我想知道为什么会发生这样的情况?该列中的条目的小数点最大位数为 2,因此结果也应该有 2 个小数点,对吗?该列的数据类型是.21616.750012949121616.75float

mysql floating-point sum decimal

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

可以在 firestore 数据库中添加时间戳作为文档字段吗?

在使用Cloud Firestore 时,我在将数据添加到 Cloud Firestore文档中阅读了此声明:

重要提示:与 Firebase 实时数据库中的“推送 ID”不同,Cloud Firestore 自动生成的 ID 不提供任何自动排序。如果您希望能够按创建日期对文档进行排序,您应该将时间戳存储为文档中的一个字段。

所以,我设计了我的数据库,因为它包含timestamp所有文档中的字段。

但在那之后,我在最佳实践文档中阅读了这些声明:

请注意,具有单调递增值的索引字段(例如时间戳)可能会导致热点,从而影响具有高读取和写入速率的应用程序的延迟。

避免高读取或写入速率以按字典顺序关闭文档,否则您的应用程序将遇到争用错误。此问题称为热点,如果您的应用程序执行以下任一操作,则它可能会遇到热点:

  • 以非常高的速率创建具有单调递增字段(如时间戳)的新文档。

所以我现在很困惑。我正在开发一个安卓应用程序。我可以timestamp用作字段吗?如果我的应用程序有很多用户,它会产生任何问题吗?是的,我必须按创建日期订购文档。

android firebase google-cloud-firestore

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

如何在 Room Db 上使用挂起功能?

我在 kotlin 中使用协同程序使用 Room Db。这是我的 Dao 界面:

@Dao
interface CheckListNameDao {

    @Insert
    suspend fun insertName(name: CheckListName)


    @Query("SELECT * FROM CheckListNamesTable")
    fun getAllNames(): LiveData<List<CheckListName>>
}
Run Code Online (Sandbox Code Playgroud)

getAllNames()方法工作正常。问题出在insertName()方法上。当我suspendinsertName()方法中删除关键字时,它会引发此异常:java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time. 但是,当我使用suspend关键字时,我无法再构建项目。它显示以下错误:

error: Methods annotated with @Insert can return either void, long, Long, long[], Long[] or List<Long>.
public abstract java.lang.Object insertName(@org.jetbrains.annotations.NotNull()
Run Code Online (Sandbox Code Playgroud)

为什么会显示这个错误?我的代码基于此Android Room with a …

android kotlin android-room kotlin-coroutines

4
推荐指数
2
解决办法
4203
查看次数

在约束布局中同时应用左右约束时,如何将布局向左对齐?

这是我想要设计的布局:

在此输入图像描述

正如您从图像中看到的,我希望线性布局仅限于项目 A 和项目 B,并且我希望它向左对齐。我找不到任何方法在约束布局中实现这一点。当我使用这个时:

<LinearLayout
        android:id="@+id/linear_layout"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/ui_size_xs">
Run Code Online (Sandbox Code Playgroud)

线性布局移至中间。当我使用这个时:

<LinearLayout
        android:id="@+id/linear_layout"
        android:layout_width="0dp"
        android:layout_height="@dimen/ui_size_xs">
Run Code Online (Sandbox Code Playgroud)

线性布局占据了项目 A 和 B 之间的整个区域。 我想要线性布局wrap-content,但也应该像图像中那样向左对齐。我能找到的唯一解决方案是创建一个新布局作为此线性布局的父级,并赋予0dp新的父级线性布局和wrap-conent此布局子布局。我不想那样做。有没有什么方法可以在不创建任何额外布局的情况下实现这一目标?

android android-layout android-linearlayout android-constraintlayout

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

如何找到特定行的行号?

我有一个这样的数据库表:

在此输入图像描述

我想得到第二行的行号.我使用以下代码:

SELECT ROW_NUMBER() OVER(ORDER BY Name) From Deposit WHERE Name='Murali'
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.代码有什么问题?提前致谢.

c# sql sql-server-ce

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

为什么php代码不起作用?

我想在.php网页中显示数据库表.我使用以下代码:

<?php
        include('../dbconnect.php');
        $det= SELECT * FROM user ;
        $result=mysqli_query($con,$det);
         mysqli_close($con);

         while($row=mysqli_fetch_array($result))
         {

            echo '<table style="width: 100%">
                <tr>';
                    echo "<td>".$row['name']."</td>";
                    $del=$row['uid'];
                    echo '<td><a href=functions/deleteuser.php?id=' .$del.'>Delete</a></td>
                </tr>
            </table>';

         }
    ?>
Run Code Online (Sandbox Code Playgroud)

但是,当我包含此代码时,整个网页显示为空白.没有此代码,页面工作正常.这段代码有什么问题?

html php

-16
推荐指数
1
解决办法
197
查看次数