小编loi*_*pez的帖子

Elasticsearch和Laravel Scout-elasticsearch-driver返回空响应

首先,我使用Laravel Scout的scout-elasticsearch-driverhttps : //github.com/babenkoivan/scout-elasticsearch-driver

我逐步遵循了自述文件,创建索引,迁移索引,配置映射并User::search()->get()返回空数组的步骤。

显然,我的数据库已迁移并填充。

我想通过以下方式搜索用户:

  • 他的名字
  • 他的姓氏
  • 他的昵称

所以我创建了一个IndexConfigurator

class UserIndexConfigurator extends IndexConfigurator
{
   use Migratable;

   /**
   * @var array
   */
   protected $settings = [
     //
   ];
}
Run Code Online (Sandbox Code Playgroud)

创建了一个SearchRule

class UserSearchRule extends SearchRule
{
   public function buildQueryPayload()
   {
       $query = $this->builder->query;

       return [
          'should' => [
              [
                'match' => [
                   'first_name' => [
                              'query' => $query
                          ]
                      ]
                  ],
                  [
                      'match' => [
                          'last_name' => [
                              'query' …
Run Code Online (Sandbox Code Playgroud)

elasticsearch laravel laravel-scout

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

使用 gl-react-image 旋转图像

为什么旋转应用于我的图片?

尺寸如下:

               Object {
13:06:33 [exp]   "height": 3264,
13:06:33 [exp]   "uri": "file:///var/mobile/Containers/Data/Application/8196F3EA-3555-476F-B70F-E76CBBFBB3F8/Library/Caches/ExponentExperienceData/%2540devlyl%252Flyl/Camera/5FA1D6E2-D99E-4675-AF6E-CB96A2367015.jpg",
13:06:33 [exp]   "width": 1836,
13:06:33 [exp] }
Run Code Online (Sandbox Code Playgroud)

相机拍照结果:https : //imgur.com/a/I152DXU

与 GLImage 一起显示:https ://imgur.com/a/PL7EumH

相关github问题:https : //github.com/gre/gl-react-image/issues/22

编辑1:

我找到了使用react-native-gl制作 intagram 过滤器的相关教程:

https://www.youtube.com/watch?v=AMAJLgafs6U

javascript react-native expo

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

Laravel 5,如何测试控制器中是否选中了Checkbox

如果选中复选框,我试图获取:

在我看来 :

 <form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
  <div class="checkbox checkbox-success">
   <input name="test" id="test" type="checkbox" value="test">
   <label for="test" style="padding-left: 15px!important;">test</label>
  </div>
 </form>
 <form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
  {{ csrf_field() }}
  <div class="form-group pull-right">
     <button type="submit" class="btn btn-danger">Submit</button>
  </div>
 </form>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中:

public function createRole(Request $request)
{
    if( $request->has('test')) {
        new \App\Debug\Firephp('test', ['test' => true]);
    }
}
Run Code Online (Sandbox Code Playgroud)

在web.php中:

 Route::post('/admin/role/add', 'AdminController@createRole')
Run Code Online (Sandbox Code Playgroud)

但不起作用.

我该怎么办?

谢谢你的答复.

编辑1:

这是我的形式很差的建设

php laravel

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

T4 模板在构建期间未转换

我做了什么

我尝试将 T4 模板编译为 ac# 文件。

我从微软尝试过:在构建过程中调用文本转换

通过添加我的 .csproj 文件:

  <Import Project="TextTemplating\Microsoft.TextTemplating.targets" />
  <PropertyGroup>
    <TransformOnBuild>true</TransformOnBuild>
    <OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
    <TransformOutOfDateOnly>false</TransformOutOfDateOnly>
  </PropertyGroup>
  <ItemGroup>
    <T4ParameterValues Include="ProjectDir">
      <Value>$(ProjectDir)</Value>
      <Visible>false</Visible>
    </T4ParameterValues>
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

TextTemplating是包含我的编辑器中的 TextTemplated 文件的目录,位于:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\msbuild\Microsoft\VisualStudio\v16.0\TextTemplated

模板

基本模板(名为 ModelTemplate.tt):

<#@ template language="C#" #>
<#@ parameter name="ClassName" type="System.String"#>
<#@ parameter name="Namespace" type="System.String"#>

namespace <#= Namespace #> 
{
    public class <#= ClassName #>
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

最后是用于测试ModelTemplate.tt 的模板(名为 ModelTemplateTest.tt):

<#@ template debug="false" language="C#" #>
<#@ output extension=".cs" #>
<#
    _ClassNameField = …
Run Code Online (Sandbox Code Playgroud)

.net c# t4 templates visual-studio

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

重写 Laravel get 和 First 方法

我需要重写上面提到的方法来跳过一些数据库记录。使用where不是一个选项,因为我每次都必须使用它,因为数据库中有一些我大部分时间不需要的记录,并且不允许我从数据库中删除它们。这是我这样做的尝试:

class SomeTable extends BaseModel { 

    public static function first() {
       $query = static::query();
       $data = $query->first();
       if($data && $data->type == 'migration_type') return null;

       return $data;
    }

    public static function get() {
       $query = static::query();
       $data = $query->get();
       foreach($data as $key => $item) {
           if($item->type == 'migration_type') unset($data[$key]); 
       }

       return $data;
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码的问题在于它仅在直接调用模型时才有效。如果我使用一些其他函数,例如where, beforegetfirst方法,它只会跳过我覆盖的方法。执行此操作的正确方法是什么?我应该将此代码放入模型中吗?

我的问题不重复,正如上述问题的答案所示:

从扩展您的 CustomModel 的模型发出的所有查询都将获得这个新方法

我需要仅针对特定模型覆盖这两个函数,而不是针对应用程序中的每个函数,因为并非所有表都有type列。这就是我在模型类中编写它们的原因。

laravel

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

用于将 std::osyncstream 和 std::cout 组合在一起的 C++20 自定义类

我想在多线程上下文中使用std::osyncstreamstd::cout而不需要每次都写:

std::osyncstream(std::cout) << "my message" << std:endl;
Run Code Online (Sandbox Code Playgroud)

我想要达到的目标:

streams::synced_cout << "my message" << std:endl;
Run Code Online (Sandbox Code Playgroud)

我做了什么:

namespace streams {
    class _synced_cout {
    private:
        std::osyncstream synced_cout_stream = std::osyncstream(std::cout);

    public:
        template <class T>
        std::osyncstream &&operator<<(const T& value) {
            synced_cout_stream << value;
            return std::move(synced_cout_stream);
        }
    };

    inline static _synced_cout synced_cout = _synced_cout();
}
Run Code Online (Sandbox Code Playgroud)

但是什么都没有显示,我有什么想念的?或者是否存在更简单的解决方案?

c++ c++20

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