Как реализовать вложенный запрос MySQL в Laravel Eloquent с использованием Laravel 5.6

Вы не даете достаточно подробностей. Поскольку ваше первое выражение работает, я предполагаю, что вы используете режим Singleline.

Следующее мое предположение состоит в том, что эта строка является частью большей строки.

^ соответствует начало строки по умолчанию

$ по умолчанию соответствует концу строки.

Теперь, поскольку ваша строка содержит материал до и после, вам нужно изменить это поведение по умолчанию:

С модификатором Multiline, ^ соответствует началу строки, а $ - концу строки. Дополнительную информацию см. В документации .

Итак, ваше регулярное выражение должно выглядеть примерно так:

Regex regx = new Regex("(?<=^(\s*Owner))(.|\n)*?(?=\s*Information$)", RegexOptions.Singleline | RegexOptions.Multiline);

1
задан Sayed Mohd Ali 5 March 2019 в 07:55
поделиться

2 ответа

Поскольку никто не мог ответить мне до того, как я получу свой собственный ответ, я пишу код здесь для людей, которые могут наткнуться на ту же проблему.

Основная проблема заключалась в том, что я использовал функцию table () в подзапросе. Лучшим решением было использовать функцию from ().

Фрагмент кода from(with(new CalenderShare)->getTable()) предоставил бы мне имя таблицы модели CalenderShare.

Calender::where('user_id', $user_id)
          ->orWhereIn('id', function($query) use ($user_email) {
                               $query->from(with(new CalenderShare)->getTable())
                                       ->select('calender_shares.calender_id')
                                       ->where('calender_shares.shared_with', $user_email);
                            })->get();
0
ответ дан Saswat 5 March 2019 в 07:55
поделиться

Вы можете попробовать

$records    = Calender::where('user_id', $user_id)
                        ->orWhere('id', function($query) use ($user_email) {
                                $query->select('calender_id')
                                      ->from('calender_shares')
                                      ->where('shared_with', $user_email);
                        })->get();

Как это сделать в Laravel, подзапрос, где в

0
ответ дан Xavier Au 5 March 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: